К статье
Практический материал

Документы и Печать · 12 мин

Как редактировать печатную форму в 1С

Как отредактировать печатную форму в 1С: макеты, внешние печатные формы, конфигуратор и типовые механизмы. Пошаговые инструкции, риски и типичные ошибки.

Печатная форма в 1С — это макет, по которому программа выводит документ на печать: счёт на оплату, ТОРГ-12, счёт-фактуру, акт. Когда нужно добавить логотип, изменить подписи, убрать лишние колонки или вставить дополнительные реквизиты, форму приходится редактировать. Способ зависит от конфигурации и того, поддерживает ли она внешние печатные формы.

Существует три основных подхода: правка макета в конфигураторе, подключение внешней печатной формы через механизм «Дополнительные отчеты и обработки» и использование встроенных редакторов макетов в пользовательском режиме. Первый требует снятия конфигурации с поддержки или доработки расширения, второй — самый безопасный и обратимый, третий доступен только там, где разработчики предусмотрели такую возможность.

Прежде чем менять что-либо, определите, какая у вас конфигурация (Управление торговлей, Бухгалтерия предприятия, УНФ, ERP) и включён ли механизм дополнительных отчетов и обработок. От этого зависит весь дальнейший маршрут работы.

Как определить, какой способ редактирования вам подходит

Выбор способа зависит от трёх факторов: типа конфигурации, глубины изменений и наличия прав. Если нужно поменять только внешний вид — добавить логотип, изменить шрифт, переставить поля — обычно достаточно внешней печатной формы. Если нужно вывести данные, которых макет не получает вообще (например, дополнительные реквизиты номенклатуры), потребуется изменить и макет, и процедуру формирования — а это уже работа в конфигураторе или в модуле внешней обработки.

Проверьте, включён ли механизм внешних обработок: «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». Если флажок установлен, вам доступен самый безопасный путь. Если конфигурация самописная или сильно доработанная, механизм может отсутствовать — тогда правьте макет напрямую в конфигураторе.

Маршрут решения

Как выбрать способ

Нужно изменить только оформление: логотип, шрифты, расположение полейСоздайте внешнюю печатную форму и подключите её через дополнительные отчеты и обработки
Механизм дополнительных обработок отключён или отсутствуетРедактируйте макет в конфигураторе, предварительно сделав копию конфигурации
Нужно вывести данные, которых нет в типовой процедуре формированияДорабатывайте модуль формирования — во внешней обработке или через расширение конфигурации
Конфигурация на полной поддержке и обновляется автоматическиИспользуйте только внешние формы или расширения, не снимайте объекты с поддержки

Где в 1С хранятся печатные формы

Макеты печатных форм хранятся в конфигурации как объекты типа «Макет» с типом «Табличный документ». Найти их можно в конфигураторе через дерево конфигурации: чаще всего макет привязан к документу (например, «Документы → РеализацияТоваровУслуг → Макеты») или лежит в ветке «Общие → Макеты». Процедура, которая заполняет макет данными, находится в модуле менеджера документа или в общем модуле.

В типовых конфигурациях на БСП (Библиотека стандартных подсистем) формирование печати централизовано: команда печати вызывает общий модуль «УправлениеПечатью», а макеты и процедуры заполнения лежат в модулях менеджеров объектов. Это удобно: зная имя макета, вы легко найдёте и процедуру поиском по конфигурации.

Как отредактировать макет в конфигураторе

Откройте конфигуратор, найдите нужный макет и откройте его двойным щелчком. Макет выглядит как таблица, похожая на Excel: ячейки с текстом, параметрами в угловых скобках и оформлением. Чтобы изменить статический текст, просто отредактируйте ячейку. Чтобы добавить новое поле данных, вставьте параметр — например, [Комментарий] — и убедитесь, что в процедуре формирования этому параметру присваивается значение.

Области макета выделяются по строкам или столбцам и получают имена: «Шапка», «СтрокаТовары», «Подвал». Программа выводит области последовательно, заполняя параметры. Если вы добавляете строку в область «СтрокаТовары», она будет повторяться для каждой позиции документа. Если добавляете в «Подвал» — выведется один раз в конце.

После правки сохраните конфигурацию (F7) и обновите конфигурацию базы данных, если структура не менялась, — для макетов достаточно простого сохранения. Проверьте результат на тестовом документе: сформируйте печатную форму и сравните с ожиданиями.

Правка макета в конфигураторе
  1. 1
    Сделайте резервную копию базы или выгрузите конфигурацию в файл
  2. 2
    Откройте конфигуратор и найдите макет в дереве конфигурации
  3. 3
    Отредактируйте ячейки: текст, параметры, шрифты, границы
  4. 4
    Проверьте, что новые параметры заполняются в процедуре формирования
  5. 5
    Сохраните конфигурацию и обновите конфигурацию базы данных
  6. 6
    Сформируйте печатную форму на тестовом документе и проверьте результат

Как создать и подключить внешнюю печатную форму

Внешняя печатная форма — это файл обработки с расширением .epf, который содержит макет и код его заполнения. Такой файл подключается к базе без изменения конфигурации, поэтому обновления его не затирают. Это рекомендуемый способ для типовых конфигураций на поддержке.

Создать внешнюю форму можно в конфигураторе: «Файл → Новый → Внешняя обработка». Добавьте в обработку макет табличного документа — проще всего скопировать типовой макет из конфигурации и доработать его. В модуле объекта обработки опишите экспортную функцию «СведенияОВнешнейОбработке», которая регистрирует форму в механизме БСП, и процедуру «Печать», формирующую табличный документ.

Подключение выполняется в пользовательском режиме: «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки → Добавить из файла». Укажите, к каким документам привязана форма. После этого в меню «Печать» документа появится новый пункт рядом с типовым.

bsl
Функция СведенияОВнешнейОбработке() Экспорт
	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
	ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
	ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");
	ПараметрыРегистрации.Вставить("Наименование", "Счет на оплату (с логотипом)");
	ПараметрыРегистрации.Вставить("Версия", "1.0");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
	ПараметрыРегистрации.Вставить("Информация", "Дополнительная печатная форма счета");
	Команды = Новый ТаблицаЗначений;
	Команды.Колонки.Добавить("Представление");
	Команды.Колонки.Добавить("Идентификатор");
	Команды.Колонки.Добавить("Использование");
	Команды.Колонки.Добавить("Модификатор");
	Команда = Команды.Добавить();
	Команда.Представление = "Счет на оплату (с логотипом)";
	Команда.Идентификатор = "СчетСЛоготипом";
	Команда.Использование = "ВызовСерверногоМетода";
	Команда.Модификатор = "ПечатьMXL";
	ПараметрыРегистрации.Вставить("Команды", Команды);
	Возврат ПараметрыРегистрации;
КонецФункции

Как добавить логотип, печать и подписи

Самая частая задача — вставить логотип компании в шапку счёта или акта. В макете табличного документа картинка добавляется через меню «Таблица → Рисунки → Вставить рисунок» в конфигураторе. Рисунок привязывается к ячейкам; задайте ему свойство «Размер картинки — Пропорционально», чтобы изображение не искажалось.

Если логотип должен подставляться из данных организации (а не зашиваться в макет), логика сложнее: в процедуре формирования нужно получить картинку из хранилища значений (например, из файла логотипа, прикреплённого к организации) и поместить её в область рисунка табличного документа перед выводом. Это уже требует правки кода, а не только макета.

Факсимиле подписи и печати добавляются тем же способом. Учитывайте юридический момент: документ с факсимиле не всегда равнозначен подписанному вручную — для первичных документов уточните требования у бухгалтера или юриста перед массовым применением.

Как проверить результат и не сломать типовую форму

Главное правило безопасности: внешняя печатная форма не заменяет типовую, а добавляется рядом. Пока вы не уверены в результате, пользуйтесь новой формой, а типовую оставьте как запасной вариант. Если внешняя форма работает с ошибками, её можно просто отключить в списке дополнительных обработок — и печать вернётся к типовому виду.

При правке макета прямо в конфигурации риски выше. Объект, изменённый в конфигураторе, может быть снят с поддержки, и при следующем обновлении конфигурации ваши правки либо будут утеряны, либо заблокируют автоматическое обновление. Поэтому перед правкой выгрузите конфигурацию в файл .cf, а ещё лучше — оформите доработку как расширение конфигурации.

Проверяйте форму на реальных данных разных сценариев: документ с длинным наименованием товара, с большим количеством строк (разрыв страницы), с пустыми необязательными реквизитами. Именно на граничных случаях всплывают съехавшие колонки и пустые параметры.

Контрольные точки

Как проверить результат

Вывод формы на тестовом документе
Норма

Все параметры заполнены, текст не обрезан, колонки выровнены

Тревожный признак

Пустые квадратные скобки с именами параметров или съехавшая вёрстка

Многостраничный документ
Норма

Шапка таблицы повторяется на каждой странице, итоги в конце

Тревожный признак

Таблица разрывается без шапки, итоги попадают на середину страницы

Поведение при обновлении конфигурации
Норма

Внешняя форма и расширение продолжают работать

Тревожный признак

Изменённый типовой макет затёрт или мешает обновлению

Печать у других пользователей
Норма

Форма доступна всем, кому назначена

Тревожный признак

Форма видна только администратору — не настроены права и назначение

Типичные ошибки при редактировании печатных форм

Большинство проблем возникает не из-за сложности механизма, а из-за пропущенных мелочей: незаполненный параметр в коде, неверное имя области, забытое назначение обработки. Ниже — ошибки, которые встречаются чаще всего.

Типичные ошибки
01
Правка типового макета без резервной копии — при ошибке или обновлении восстановить исходный вид нечем
02
Добавление параметра в макет без заполнения в коде — на печати выводится пустое место или сам текст параметра
03
Переименование областей макета без правки процедуры формирования — программа не находит область и выдаёт ошибку при печати
04
Подключение внешней формы без указания назначения — форма не появляется в меню печати нужного документа
05
Игнорирование разрывов страниц — на длинных документах таблица печатается без шапки и подвала
06
Факсимиле вместо живой подписи на документах, где это недопустимо, — риск претензий от контрагентов и проверяющих

Часто задаваемые вопросы

Можно ли редактировать печатную форму без конфигуратора?

Частично. Внешняя печатная форма создаётся в конфигураторе, но подключается и настраивается в обычном пользовательском режиме. В некоторых конфигурациях (например, 1С:УНФ) есть встроенный редактор макетов, доступный прямо из меню печати. Полностью без конфигуратора обойтись можно только в таких конфигурациях либо при использовании готовой внешней формы.

Пропадут ли мои изменения после обновления конфигурации?

Внешние печатные формы и расширения конфигурации обновления не затирают. А вот макет, изменённый напрямую в типовой конфигурации, при обновлении будет заменён на типовой, если вы не управляете сравнением и объединением вручную. Поэтому прямая правка типовых объектов — самый рискованный вариант.

Как вернуть типовую печатную форму, если что-то пошло не так?

Если использовалась внешняя форма — отключите её в списке дополнительных отчетов и обработок, типовая печать продолжит работать. Если правился макет в конфигурации, восстановите объект из резервной копии конфигурации или загрузите типовую конфигурацию поставщика и перенесите макет оттуда.

Почему внешняя печатная форма не появляется в меню «Печать»?

Чаще всего не заполнено назначение обработки (к каким документам она привязана) или отключён флажок «Дополнительные отчеты и обработки» в настройках. Также проверьте, что в функции «СведенияОВнешнейОбработке» правильно указан вид «ПечатнаяФорма» и идентификатор команды совпадает с тем, что обрабатывает процедура «Печать».

Можно ли сделать разные печатные формы для разных организаций в одной базе?

Да. Подключите несколько внешних форм с разными макетами — пользователь будет выбирать нужную в меню печати. Более изящный вариант — одна форма, которая в коде проверяет организацию документа и выводит соответствующий макет или подставляет нужный логотип.

Нужны ли права администратора для подключения внешней формы?

Подключение дополнительных обработок обычно требует права на администрирование печатных форм и обработок — у рядового пользователя этой возможности нет. После подключения пользоваться формой смогут все, кому она назначена и у кого есть доступ к самим документам.

Итог

Что важно запомнить

Правьте печатные формы через внешние обработки или расширения — это сохраняет типовую конфигурацию и упрощает обновления. Прямая правка макета в конфигураторе — только с резервной копией. Всегда проверяйте форму на длинных документах и пустых реквизитах, а новые параметры заполняйте в коде формирования.