Содержание:
1. Изображения в строках отчета на СКД
2. Изображение в шапке документа
Часто при разработке отчетов возникает необходимость вывода в отчет каких-либо изображений.
В данной статье рассмотрим один из наиболее распространённых примеров подобных задач – вывод логотипа организации в шапку документа и изображений товаров в отчет на СКД.
1. Изображения в строках отчета на СКД
Для разработки отчета используется демонстрационная конфигурация "Управляемое приложение". В конфигурации уже присутствует отчет «Остатки товаров». Его и будем дорабатывать.
В справочнике «Номенклатура» есть реквизит «ФайлКартинки», тип – «СправочникСсылка.ХранимыеФайлы».
Рис. 1 Реквизит «ФайлКартинки», тип: «СправочникСсылка.Хранимыефайлы»
Реквизит «Данные файла» имеет тип «ХранилищеЗначений». В нем хранятся двоичные данные изображений в строках:
Рис. 2 Реквизит «Данные файла», тип: «ХранилищеЗначения»
В отчет «Остатки товаров» в 1С добавляем поле «Картинка»:
Рис. 3 Дополнение отчета картинкой в 1С
Для поля «Картинка» устанавливаем минимальную ширину и высоту:
Рис. 4 Указание параметров сторон картинки в отчете 1С
Далее размещаем его в группировках отчета:
Рис. 5 Размещение поля «Картинка» в группировках отчета
Затем в модуле объекта необходимо в обработчике события «ПриКомпоновкеРезультата» описать программный вывод отчета:
Рис. 6 Процедура «ПриКомпоновкеРезультата»
В этой процедуре в параметре «ДокументРезультат» хранится табличный документ, в который и выводится отчет.
Для вывода изображений в него дорабатываем процедуру:
Рис. 7 Доработка процедуры для вывода картинки в отчет 1С
В цикле обходим все ячейки табличного документа.
В данных расшифровки для текущей ячейки ищем поле "Картинка" и, если значение найденного поля имеет тип "СправочникСсылка.ХранимыеФайлы", выводим изображение в табличный документ. Используем объект«Картинка», который создаем с помощью конструктора на основании двоичных данных изображений из реквизита «ДанныеФайла» справочника «ХранимыеФайлы».
В результате получаем:
Рис. 8 Результат – картинки успешно добавлены в отчет
2. Изображение в шапке документа
Рассмотрим еще один распространённый пример – вывод изображений в шапку документа.
Для этого добавляем в отчет новый макет, и размещаем на нем логотип организации:
Рис. 9 Логотип организации в макете шапки документа
Назначаем имя для области «ШапкаСЛоготипом».
Далее в процедуре «ПриКомпоновкеРезультата» добавляем код для вывода этой области в отчет:
Рис. 10 Часть кода для вывода области с изображением в отчет
Сначала очищаем табличный документ. Затем в табличный документ выводим область с изображением из нашего нового макета. И затем формируем основной отчет.
Запускаем отчет в режиме предприятия, в отчете появилась шапка с выбранным изображением:
Рис. 11 Шапка с изображение в очете
Специалист компании «Кодерлайн»
Омельчук Сергей