При оформлении первичных учетных документов, таких как акт об оказании услуг, часто возникает необходимость выводить расширенный состав реквизитов сторон: ИНН, КПП, юридический или фактический адрес, а также банковские данные. По умолчанию в стандартных печатных формах многих типовых конфигураций может выводиться только сокращенное наименование организации и контрагента. Разберем, как решить эту задачу как путем доработки внешней печатной формы, так и с помощью штатных инструментов без изменения кода.
Рассмотрим доработку печатной формы на программном уровне. В типовых конфигурациях 1С формирование строкового представления участников сделки обычно возложено на специализированные процедуры общих модулей, например ФормированиеПечатныхФорм.ОписаниеОрганизации.
Проанализируем типовой вызов формирования строк исполнителя и заказчика в модуле внешней печатной формы:
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм");
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм");
Функция ОписаниеОрганизации принимает вторым параметром строку с перечислением требуемых полей через запятую. Для того чтобы вывести ИНН и КПП контрагентов, достаточно передать их имена в списке параметров:
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП");
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,ИНН,КПП");
Выясним причину, почему использование типовой функции предпочтительнее ручной конкатенации строк. Стандартные алгоритмы автоматически анализируют наличие каждого поля. Если значение реквизита не заполнено, функция корректно пропускает его и формирует правильную пунктуацию без лишних пробелов, пустых меток и «висячих» запятых.
Посмотрим на расширенный список реквизитов, которые можно запрашивать через стандартные механизмы формирования описания:
ПолноеНаименование, СокращенноеНаименование, НаименованиеДляПечатныхФорм.ИНН, КПП, ОГРН, ОГРНИП, Свидетельство.ЮридическийАдрес, ФактическийАдрес, ПочтовыйАдрес, Телефоны.НомерСчета, Банк, БИК, КоррСчет.Разберем по шагам создание полного блока реквизитов исполнителя с адресом и банковским счетом:
СписокПолей = "ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет";
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, СписокПолей);
Если конфигурация построена на базе Библиотеки стандартных подсистем (БСП), во многих случаях нет необходимости создавать отдельную внешнюю обработку только ради изменения состава реквизитов в макете. Разберем последовательность действий в пользовательском режиме:
При таком подходе типовая конфигурация полностью остается на поддержке, а внесенные изменения легко возвращаются к стандартному виду кнопкой отмены пользовательских правок.
Рассмотрим подробнее важные моменты, с которыми можно столкнуться при настройке печатных форм:
КПП, а вместо ОГРН регистрируется ОГРНИП. При ручной склейке строк без проверки типа контрагента на печать может попасть пустой префикс вида «КПП: ». Типовая функция формирования описания обрабатывает такие ситуации автоматически.