Не отображается картинка, загруженная из двоичных данных
Делаю все стандартно - в Регистре храню картинки в хранилище значения, при создании формы на сервере читаю эти данные, пишу в адрес картинки
На форме Поле картинки, путь к данным - АдресКартинки. На мобильном устройсвте какие то картинки отображаются корректно, какие то нет. В тонком клиенте все картинки отображаются нормально.
Причем, у меня при нажатии на картинку отрабатывают команды по редактировании фото, так вот программы для обрезания или редактирования фото открывают картинку нормально, а берут они данные картинки из того же реквизита формы ДДФайла. Помогите понять, почему не отображается картинка в Поле картинки на форме то? Спасибо!
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПолучитьДанныеФото();
АдресКартинки = ПоместитьВоВременноеХранилище(ДДФайла,УникальныйИдентификатор);
//Элементы.Картинка.РазмерКартинки = РазмерКартинки.Пропорционально;
КонецПроцедуры
&НаСервере
Процедура ПолучитьДанныеФото()
Рег = РегистрыСведений.Вложения.СоздатьНаборЗаписей();
Рег.Отбор.УникальныйКод.Установить(Запись.УникальныйКод);
Рег.Прочитать();
Если Рег.Количество() = 0 Тогда Возврат КонецЕсли;
ДДФайла = Рег[0].Данные.Получить();
КонецПроцедуры
ПоказатьНа форме Поле картинки, путь к данным - АдресКартинки. На мобильном устройсвте какие то картинки отображаются корректно, какие то нет. В тонком клиенте все картинки отображаются нормально.
Причем, у меня при нажатии на картинку отрабатывают команды по редактировании фото, так вот программы для обрезания или редактирования фото открывают картинку нормально, а берут они данные картинки из того же реквизита формы ДДФайла. Помогите понять, почему не отображается картинка в Поле картинки на форме то? Спасибо!
По теме из базы знаний
- Прикрепление внешних файлов к документам и справочникам 1С 8.3 (управляемые формы)
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Устройство хранения данных в MS SQL Server
- СКД. Отчеты с картинками
- Картинки в динамическом списке
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) dj_serega,
Мне кажется что картинки слишком хорошего качества и мобильное устройство не справляется с вырисовыванием
Да, я тоже так думаю, потому что если я эти же сканы сохраняю и уменьшаю размер и креплю заново, отображаются они нормально. Но дело в том, что в мобильное приложение эти рисунки попадают из Центральной базы, где собираются самые разномастные файлы - как сделанные на мобильном приложении, так и отсканированные и прикрепленные к документам на стационарном компьютере, тут я уже не могу контролировать все файлы. В общем, решила помимо функций редактирования и обрезания фото добавить просмотр и открываю проблемный скан в просмотрщике. Спасибо!
(4) ipoloskov, да, это тоже вариант. Но тогда, пожалуй, надо опытным путем выяснять, с какого качества начиная перестают грузиться сканы, и для таких выполнять процедуру обрезания. В общем, пока тестируем так с командой открытия проблемного скана, потом посмотрим.
(5) Ukubaeva,
В первую очередь я бы выяснил какое качество нужно в МП.
В пример: разрешение моб. устройства "1280 x 800" (10'' tab4) то удобо-читаемыми картинками можно считать 640*480. Ну и не bmp а jpeg или даже png.
Это первые мысли какие пришли. У меня были случаи когда видяшки (avi) грузили с разрешением годными для просмотра в кинотеатре :))) Естественно я ограничил размер в 20мб :) В итоге юзеры конвертировали видео в 640*480 и все работало как часы.
Но тогда, пожалуй, надо опытным путем выяснять, с какого качества начиная перестают грузиться сканы
В первую очередь я бы выяснил какое качество нужно в МП.
В пример: разрешение моб. устройства "1280 x 800" (10'' tab4) то удобо-читаемыми картинками можно считать 640*480. Ну и не bmp а jpeg или даже png.
Это первые мысли какие пришли. У меня были случаи когда видяшки (avi) грузили с разрешением годными для просмотра в кинотеатре :))) Естественно я ограничил размер в 20мб :) В итоге юзеры конвертировали видео в 640*480 и все работало как часы.
(6) dj_serega, да, я согласна, что надо бы изначально ограничить возможности пользователей грузить высокого качества изображения, но дело в том, что в базу эти изображения попадают самыми различными способами. И хорошего качества попадают следующим образом: Пользователь сканирует свой документ, пишет на определенный ящик письмо, прикрепляет туда скан, отправляет письмо. Письмо обрабатывается триггером событий в 1С, создается док, который грузится в МП, где с ним работают другие пользователи. И им надо просматривать сканы. То есть, тут довольно сложно заставить их крепить надлежащего качества сканы.
(7) Ukubaeva, Я, походу, не совсем ясно передал суть :)
Допустим есть док "ДанныеДляМП". У него реквизиты: "Сканы - Тип ХЗ" и "СканыДляМП - Тип ХЗ". Так вот на МП выгружайте "СканыДляМП". Сконвертить скан можно в обработчике "ПерезЗаписью". Не думаю что будет трудно найти обработку/сайт/программу через которые можно будет это выполнить (будь-то встроенные механизмы или api или COM).
Вообщем направление, я думаю, есть :) А вот о результатах очень прошу отписаться :) Интересно как решите этот вопрос.
Допустим есть док "ДанныеДляМП". У него реквизиты: "Сканы - Тип ХЗ" и "СканыДляМП - Тип ХЗ". Так вот на МП выгружайте "СканыДляМП". Сконвертить скан можно в обработчике "ПерезЗаписью". Не думаю что будет трудно найти обработку/сайт/программу через которые можно будет это выполнить (будь-то встроенные механизмы или api или COM).
Вообщем направление, я думаю, есть :) А вот о результатах очень прошу отписаться :) Интересно как решите этот вопрос.
Если уж таки надо такого качества выводить - юзайто поле хтмл, и выводите через него.
И вообще - все картинки надо через него выводить, иначе рискуете утечками памяти. И после открытия 10 картинок - 1с просто упадет.
И вообще - все картинки надо через него выводить, иначе рискуете утечками памяти. И после открытия 10 картинок - 1с просто упадет.
Поставил 8.3.9 МП и андроид 4.4 у меня.
Вместо картинки крестик.
Картинка 42 957 байт 400 на 400 примерно.
А вот картинку в 21кб отобразило.
Ранее возможно на 8.3.7 и андроиде 4.2 картинки грузились нормально.
Вместо картинки крестик.
Картинка 42 957 байт 400 на 400 примерно.
А вот картинку в 21кб отобразило.
Ранее возможно на 8.3.7 и андроиде 4.2 картинки грузились нормально.
//Код до
//СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Иллюстрация");
//Код после тоже не работает
СсылкаНаКартинку = ПоместитьВоВременноеХранилище(Новый Картинка(ДвоичныеДанныеИллюстрации), УникальныйИдентификатор);
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Иллюстрация");
//СсылкаНаКартинку = ПоместитьВоВременноеХранилище(Новый Картинка(ДвоичныеДанныеИллюстрации), УникальныйИдентификатор);
СсылкаНаКартинку = "
|<ht ml>
|<head>
|</head>
|<body>
|<div> <img src='"+СсылкаНаКартинку+"'/></div>
|</body>
|</html>";
Показать
Нихрена не выводится - пишет "Не удается найти элемент" и открывает галерею картинок на мобильном устройстве. МП 8.3.10.74. Что я не так делаю?
&НаСервере
Процедура ВывестиКартинку(Гуид)
ИмяТемпФайла = ПолучитьИмяВременногоФайла(".jpg");
Попытка
ДвоичныеДанные = ПолучитьФайлИзХранилища(Гуид);
Если ДвоичныеДанные <> Неопределено Тогда
ДвоичныеДанные.Записать(ИмяТемпФайла);//Файл);
ЗапуститьПриложение(ИмяТемпФайла);//Файл);
КонецЕсли;
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
&НаСервере
Функция ПолучитьФайлИзХранилища(ГуидФайла)
Возврат ВернутьОбъектСправочникаПоГуиду(ГуидФайла);
КонецФункции
&НаСервере
Функция ВернутьОбъектСправочникаПоГуиду(Гуид)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПрикрепленныеДанные.Данные КАК ХранилищеФайла
|ИЗ
| РегистрСведений.ПрикрепленныеДанные КАК ПрикрепленныеДанные
|ГДЕ
| ПрикрепленныеДанные.ГУИД = &ГУИД";
Запрос.УстановитьПараметр("ГУИД", Гуид);
РезультатЗапроса = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ХранилищеФайла");
Если РезультатЗапроса.Количество() > 0 Тогда
Возврат РезультатЗапроса[0].Получить();
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот