Документы и Печать · 12 мин
Как редактировать печатную форму в 1С
Как отредактировать печатную форму в 1С: макеты, внешние печатные формы, конфигуратор и типовые механизмы. Пошаговые инструкции, риски и типичные ошибки.
Печатная форма в 1С — это макет, по которому программа выводит документ на печать: счёт на оплату, ТОРГ-12, счёт-фактуру, акт. Когда нужно добавить логотип, изменить подписи, убрать лишние колонки или вставить дополнительные реквизиты, форму приходится редактировать. Способ зависит от конфигурации и того, поддерживает ли она внешние печатные формы.
Существует три основных подхода: правка макета в конфигураторе, подключение внешней печатной формы через механизм «Дополнительные отчеты и обработки» и использование встроенных редакторов макетов в пользовательском режиме. Первый требует снятия конфигурации с поддержки или доработки расширения, второй — самый безопасный и обратимый, третий доступен только там, где разработчики предусмотрели такую возможность.
Прежде чем менять что-либо, определите, какая у вас конфигурация (Управление торговлей, Бухгалтерия предприятия, УНФ, ERP) и включён ли механизм дополнительных отчетов и обработок. От этого зависит весь дальнейший маршрут работы.
Как определить, какой способ редактирования вам подходит
Выбор способа зависит от трёх факторов: типа конфигурации, глубины изменений и наличия прав. Если нужно поменять только внешний вид — добавить логотип, изменить шрифт, переставить поля — обычно достаточно внешней печатной формы. Если нужно вывести данные, которых макет не получает вообще (например, дополнительные реквизиты номенклатуры), потребуется изменить и макет, и процедуру формирования — а это уже работа в конфигураторе или в модуле внешней обработки.
Проверьте, включён ли механизм внешних обработок: «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». Если флажок установлен, вам доступен самый безопасный путь. Если конфигурация самописная или сильно доработанная, механизм может отсутствовать — тогда правьте макет напрямую в конфигураторе.
Как выбрать способ
Где в 1С хранятся печатные формы
Макеты печатных форм хранятся в конфигурации как объекты типа «Макет» с типом «Табличный документ». Найти их можно в конфигураторе через дерево конфигурации: чаще всего макет привязан к документу (например, «Документы → РеализацияТоваровУслуг → Макеты») или лежит в ветке «Общие → Макеты». Процедура, которая заполняет макет данными, находится в модуле менеджера документа или в общем модуле.
В типовых конфигурациях на БСП (Библиотека стандартных подсистем) формирование печати централизовано: команда печати вызывает общий модуль «УправлениеПечатью», а макеты и процедуры заполнения лежат в модулях менеджеров объектов. Это удобно: зная имя макета, вы легко найдёте и процедуру поиском по конфигурации.
Как отредактировать макет в конфигураторе
Откройте конфигуратор, найдите нужный макет и откройте его двойным щелчком. Макет выглядит как таблица, похожая на Excel: ячейки с текстом, параметрами в угловых скобках и оформлением. Чтобы изменить статический текст, просто отредактируйте ячейку. Чтобы добавить новое поле данных, вставьте параметр — например, [Комментарий] — и убедитесь, что в процедуре формирования этому параметру присваивается значение.
Области макета выделяются по строкам или столбцам и получают имена: «Шапка», «СтрокаТовары», «Подвал». Программа выводит области последовательно, заполняя параметры. Если вы добавляете строку в область «СтрокаТовары», она будет повторяться для каждой позиции документа. Если добавляете в «Подвал» — выведется один раз в конце.
После правки сохраните конфигурацию (F7) и обновите конфигурацию базы данных, если структура не менялась, — для макетов достаточно простого сохранения. Проверьте результат на тестовом документе: сформируйте печатную форму и сравните с ожиданиями.
- 1Сделайте резервную копию базы или выгрузите конфигурацию в файл
- 2Откройте конфигуратор и найдите макет в дереве конфигурации
- 3Отредактируйте ячейки: текст, параметры, шрифты, границы
- 4Проверьте, что новые параметры заполняются в процедуре формирования
- 5Сохраните конфигурацию и обновите конфигурацию базы данных
- 6Сформируйте печатную форму на тестовом документе и проверьте результат
Как создать и подключить внешнюю печатную форму
Внешняя печатная форма — это файл обработки с расширением .epf, который содержит макет и код его заполнения. Такой файл подключается к базе без изменения конфигурации, поэтому обновления его не затирают. Это рекомендуемый способ для типовых конфигураций на поддержке.
Создать внешнюю форму можно в конфигураторе: «Файл → Новый → Внешняя обработка». Добавьте в обработку макет табличного документа — проще всего скопировать типовой макет из конфигурации и доработать его. В модуле объекта обработки опишите экспортную функцию «СведенияОВнешнейОбработке», которая регистрирует форму в механизме БСП, и процедуру «Печать», формирующую табличный документ.
Подключение выполняется в пользовательском режиме: «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки → Добавить из файла». Укажите, к каким документам привязана форма. После этого в меню «Печать» документа появится новый пункт рядом с типовым.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Вставить("Наименование", "Счет на оплату (с логотипом)");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "Дополнительная печатная форма счета");
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление");
Команды.Колонки.Добавить("Идентификатор");
Команды.Колонки.Добавить("Использование");
Команды.Колонки.Добавить("Модификатор");
Команда = Команды.Добавить();
Команда.Представление = "Счет на оплату (с логотипом)";
Команда.Идентификатор = "СчетСЛоготипом";
Команда.Использование = "ВызовСерверногоМетода";
Команда.Модификатор = "ПечатьMXL";
ПараметрыРегистрации.Вставить("Команды", Команды);
Возврат ПараметрыРегистрации;
КонецФункцииКак добавить логотип, печать и подписи
Самая частая задача — вставить логотип компании в шапку счёта или акта. В макете табличного документа картинка добавляется через меню «Таблица → Рисунки → Вставить рисунок» в конфигураторе. Рисунок привязывается к ячейкам; задайте ему свойство «Размер картинки — Пропорционально», чтобы изображение не искажалось.
Если логотип должен подставляться из данных организации (а не зашиваться в макет), логика сложнее: в процедуре формирования нужно получить картинку из хранилища значений (например, из файла логотипа, прикреплённого к организации) и поместить её в область рисунка табличного документа перед выводом. Это уже требует правки кода, а не только макета.
Факсимиле подписи и печати добавляются тем же способом. Учитывайте юридический момент: документ с факсимиле не всегда равнозначен подписанному вручную — для первичных документов уточните требования у бухгалтера или юриста перед массовым применением.
Как проверить результат и не сломать типовую форму
Главное правило безопасности: внешняя печатная форма не заменяет типовую, а добавляется рядом. Пока вы не уверены в результате, пользуйтесь новой формой, а типовую оставьте как запасной вариант. Если внешняя форма работает с ошибками, её можно просто отключить в списке дополнительных обработок — и печать вернётся к типовому виду.
При правке макета прямо в конфигурации риски выше. Объект, изменённый в конфигураторе, может быть снят с поддержки, и при следующем обновлении конфигурации ваши правки либо будут утеряны, либо заблокируют автоматическое обновление. Поэтому перед правкой выгрузите конфигурацию в файл .cf, а ещё лучше — оформите доработку как расширение конфигурации.
Проверяйте форму на реальных данных разных сценариев: документ с длинным наименованием товара, с большим количеством строк (разрыв страницы), с пустыми необязательными реквизитами. Именно на граничных случаях всплывают съехавшие колонки и пустые параметры.
Как проверить результат
Все параметры заполнены, текст не обрезан, колонки выровнены
Пустые квадратные скобки с именами параметров или съехавшая вёрстка
Шапка таблицы повторяется на каждой странице, итоги в конце
Таблица разрывается без шапки, итоги попадают на середину страницы
Внешняя форма и расширение продолжают работать
Изменённый типовой макет затёрт или мешает обновлению
Форма доступна всем, кому назначена
Форма видна только администратору — не настроены права и назначение
Типичные ошибки при редактировании печатных форм
Большинство проблем возникает не из-за сложности механизма, а из-за пропущенных мелочей: незаполненный параметр в коде, неверное имя области, забытое назначение обработки. Ниже — ошибки, которые встречаются чаще всего.
Часто задаваемые вопросы
Можно ли редактировать печатную форму без конфигуратора?
Частично. Внешняя печатная форма создаётся в конфигураторе, но подключается и настраивается в обычном пользовательском режиме. В некоторых конфигурациях (например, 1С:УНФ) есть встроенный редактор макетов, доступный прямо из меню печати. Полностью без конфигуратора обойтись можно только в таких конфигурациях либо при использовании готовой внешней формы.
Пропадут ли мои изменения после обновления конфигурации?
Внешние печатные формы и расширения конфигурации обновления не затирают. А вот макет, изменённый напрямую в типовой конфигурации, при обновлении будет заменён на типовой, если вы не управляете сравнением и объединением вручную. Поэтому прямая правка типовых объектов — самый рискованный вариант.
Как вернуть типовую печатную форму, если что-то пошло не так?
Если использовалась внешняя форма — отключите её в списке дополнительных отчетов и обработок, типовая печать продолжит работать. Если правился макет в конфигурации, восстановите объект из резервной копии конфигурации или загрузите типовую конфигурацию поставщика и перенесите макет оттуда.
Почему внешняя печатная форма не появляется в меню «Печать»?
Чаще всего не заполнено назначение обработки (к каким документам она привязана) или отключён флажок «Дополнительные отчеты и обработки» в настройках. Также проверьте, что в функции «СведенияОВнешнейОбработке» правильно указан вид «ПечатнаяФорма» и идентификатор команды совпадает с тем, что обрабатывает процедура «Печать».
Можно ли сделать разные печатные формы для разных организаций в одной базе?
Да. Подключите несколько внешних форм с разными макетами — пользователь будет выбирать нужную в меню печати. Более изящный вариант — одна форма, которая в коде проверяет организацию документа и выводит соответствующий макет или подставляет нужный логотип.
Нужны ли права администратора для подключения внешней формы?
Подключение дополнительных обработок обычно требует права на администрирование печатных форм и обработок — у рядового пользователя этой возможности нет. После подключения пользоваться формой смогут все, кому она назначена и у кого есть доступ к самим документам.
Что важно запомнить
Правьте печатные формы через внешние обработки или расширения — это сохраняет типовую конфигурацию и упрощает обновления. Прямая правка макета в конфигураторе — только с резервной копией. Всегда проверяйте форму на длинных документах и пустых реквизитах, а новые параметры заполняйте в коде формирования.