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