Вопрос автоматизации вывода факсимиле в отчетах часто возникает перед разработчиками, так как стандартные печатные формы документов имеют фиксированные макеты, а отчеты, построенные на системе СКД, формируются динамически. Рассмотрим, как эффективно решить эту задачу в конфигурации КА 2.5 и других решениях на платформе 1С:Предприятие.
Этот способ подходит для разовых задач или отчетов, которые редко меняются. Мы можем внести изменения прямо в сформированный отчет:
Для автоматизации процесса в отчетах на СКД, мы рекомендуем использовать событийную модель. Это позволяет избежать «хардкода» в типовых объектах. Разберем работу с событием ПриКомпоновкеРезультата:
В модуле отчета мы можем получить доступ к итоговому объекту ТабличныйДокумент и программно добавить туда рисунок. Суть подхода заключается в поиске «якоря» — текста в таблице, рядом с которым должна быть подпись.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
// Формируем отчет стандартно
СтандартнаяОбработка = Ложь;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки());
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(Макет);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
// Добавляем факсимиле
Рисунок = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Картинка = БиблиотекаКартинок.ФаксимилеРуководителя; // Заранее добавленная в конфигурацию картинка
Рисунок.Высота = 20;
Рисунок.Ширина = 40;
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
КонецПроцедуры
Наиболее правильным архитектурным подходом является использование Расширений. Это позволит вам не снимать конфигурацию с поддержки. Вы можете создать расширение, которое перехватывает вывод табличного документа любого отчета.
Преимущества данного подхода:
Расширений позволяет легко обновлять конфигурацию КА 2.5.При реализации факсимиле помните о важном аспекте: хранение изображений с подписями требует защиты. Никогда не храните файлы факсимиле в папках общего доступа.
Лучшим решением будет использование справочника ПрисоединенныеФайлы, встроенного в БСП (Библиотеку стандартных подсистем). Это позволит:
Надеемся, эти советы помогут вам реализовать удобный и надежный механизм печати отчетов с подписями. Рекомендуем начать с создания небольшого расширения, которое будет внедрять картинку в ТабличныйДокумент после завершения его формирования.