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