Картинка во внешней обработке
Добрый день! Есть внешняя обработка, в ней по кнопке интерактивно выбираю каталог в котором хранятся изображения (png,jpg,jpeg), нужно программно получить все файлы картинок из каталога и вывести эти картинки на форму.
Действия которые уже реализованы: выбор каталога, поиск всех файлов в каталоге, отбор изображений из каталога и помещение их во временное хранилище в виде двоичных данных, потому что во внешней обработке нельзя создать реквизит с типом "ХранилищеЗначений", соответственно остается картинки хранить в виде ДвочиныхДанных, поймал тупик уже в программном создании реквизитов и элементы для отображения картинки. Не понимаю к чему присваивать адрес во временном хранилище, и как отобразить картинку, буду благодарен за помощь. Пока что только учусь, надеюсь на вашу адекватность. Файл внешки прикрепил
Действия которые уже реализованы: выбор каталога, поиск всех файлов в каталоге, отбор изображений из каталога и помещение их во временное хранилище в виде двоичных данных, потому что во внешней обработке нельзя создать реквизит с типом "ХранилищеЗначений", соответственно остается картинки хранить в виде ДвочиныхДанных, поймал тупик уже в программном создании реквизитов и элементы для отображения картинки. Не понимаю к чему присваивать адрес во временном хранилище, и как отобразить картинку, буду благодарен за помощь. Пока что только учусь, надеюсь на вашу адекватность. Файл внешки прикрепил
Прикрепленные файлы:
РаботаСИзображениями.epf
По теме из базы знаний
- Яндекс (Yandex) Диск. Обновляйте свои внешние обработки, обработки заполнения, печатные формы и отчеты.
- Клавиатурный тренажер. Внешняя обработка, УФ
- Картинки во внешней печатной форме (Шапка и табличная часть)
- Подсистема хранения картинок во внешних файлах для УТ 10.3
- Работа с внешними обработками на управляемых формах
Найденные решения
(8) переделал. Только изначально много "скользких" мест. Например, имя файла может не подходить как имя реквизита и элемента.
Прикрепленные файлы:
РаботаСИзображениями.epf
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Загружать все изображения из произвольной папки в 1С – сомнительная затея. Нет таких задач, которые оправдывали бы такой подход. Может оказаться накладно по ресурсам оперативной памяти: картинка, созданная через двоичные данные, помещенная во временная хранилище... думаю, там будет х2 расход памяти от реального объема файла.
Но отвечая на ваш вопрос, нужно создать реквизиты формы с типом Строка, а на форме Поле картинки. Строке просто присваиваем адрес временного хранилища.
Но отвечая на ваш вопрос, нужно создать реквизиты формы с типом Строка, а на форме Поле картинки. Строке просто присваиваем адрес временного хранилища.
(8) переделал. Только изначально много "скользких" мест. Например, имя файла может не подходить как имя реквизита и элемента.
Прикрепленные файлы:
РаботаСИзображениями.epf
(15)
Но там еще много что переделывать. Повторная загрузка не проработана совсем.
&НаСервере
Процедура СозданиеРеквизитовИЭлементовФормы(МассивФайловДляЗагрузки)
СоответствияРеквизитов = Новый Соответствие;
НовыеРеквизиты = Новый Массив;
Для каждого ПомещенныйФайл Из МассивФайловДляЗагрузки Цикл
ТипРеквизита = Новый ОписаниеТипов("Строка");
ИмяКолонки = СтрШаблон("Колонка_%1", СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""));
РеквизитСтрока = Новый РеквизитФормы(ИмяКолонки, ТипРеквизита, , ПомещенныйФайл.ИмяФайла);
НовыеРеквизиты.Добавить(РеквизитСтрока);
СоответствияРеквизитов[РеквизитСтрока.Имя] = ПомещенныйФайл.Адрес;
КонецЦикла;
ИзменитьРеквизиты(НовыеРеквизиты);
Для Каждого НовыйРеквизит Из НовыеРеквизиты Цикл
НовыйЭлемент = Элементы.Добавить(НовыйРеквизит.Имя, Тип("ПолеФормы"));
НовыйЭлемент.Вид = ВидПоляФормы.ПолеКартинки;
НовыйЭлемент.ПутьКДанным = НовыйРеквизит.Имя;
ЭтотОбъект[НовыйРеквизит.Имя] = СоответствияРеквизитов[НовыйРеквизит.Имя];
КонецЦикла;
КонецПроцедуры
ПоказатьНо там еще много что переделывать. Повторная загрузка не проработана совсем.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот