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