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

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

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

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

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

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

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

Какие способы редактирования печатных форм существуют

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

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

Сравнение вариантов

Правка макета в конфигураторе

Быстро для простых изменений, но изменения затираются при обновлении, если объект типовой

Внешняя печатная форма

Не затрагивает конфигурацию, переживает обновления, но требует навыков написания обработки

Редактор шаблонов в пользовательском режиме

Доступен не во всех конфигурациях, подходит для несложных правок без программирования

Как найти и открыть макет печатной формы в конфигураторе

Откройте конфигуратор и найдите объект, к которому относится печатная форма: обычно это документ (например, «РеализацияТоваровУслуг») или справочник. В дереве конфигурации раскройте объект и перейдите в ветку «Макеты». Типовые макеты печатных форм обычно называются понятно: «МакетСчет», «МакетТОРГ12», «ПФ_MXL_Накладная» и т. п. Если макетов несколько и неясно, какой используется, посмотрите модуль менеджера объекта — в процедуре «Печать» или «ДобавитьКомандыПечати» указано, какой макет вызывается для каждой команды.

Двойной щелчок по макету открывает его в редакторе табличного документа. Макет состоит из именованных областей: шапка, строка таблицы, подвал и т. д. Ячейки содержат либо фиксированный текст, либо параметры вида [НомерДокумента], либо шаблоны — смесь текста и параметров. Тип заполнения ячейки виден в её свойствах (правый клик → «Свойства» → поле «Заполнение»).

Как изменить текст, логотип и колонки в макете

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

Для добавления или удаления колонки таблицы найдите область строки таблицы (обычно называется «Строка» или «Товары») и отредактируйте её: добавьте ячейку с параметром, который должен заполняться из кода. Важно понимать ограничение: если вы добавили параметр, которого нет в процедуре формирования печати, он останется пустым. Чтобы новое поле заполнялось данными, придётся править и модуль — а это уже работа с кодом.

Ширину колонок, шрифты, границы и выравнивание меняйте через стандартные свойства ячеек. После правок сохраните конфигурацию (F7 или «Конфигурация → Обновить конфигурацию базы данных») и проверьте печать в пользовательском режиме.

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

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

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

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

Если режим дополнительных отчетов отключен, включите флажок «Дополнительные отчеты и обработки» в том же разделе настроек. В файловых базах это доступно администратору без ограничений; в клиент-серверных может потребоваться отключение защиты от опасных действий для загрузки файла.

Какие изменения требуют правки кода, а не только макета

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

Типовая логика такова: код получает область из макета методом «ПолучитьОбласть», заполняет параметры через «Параметры.ИмяПараметра = Значение» и выводит область в результирующий табличный документ. Если вы добавили в макет параметр «Комментарий», в коде должна быть строка, которая его заполняет. Без этого параметр выведется пустым или с текстом-заглушкой.

Для сложных задач — например, печати штрихкодов, вывода данных из связанных документов или группировки строк по произвольному признаку — лучше привлечь специалиста по 1С. Ошибки в коде печати не всегда очевидны: форма может формироваться, но с неверными суммами, а заметят это уже на подписанных документах.

Перед правкой кода формирования печати сформируйте печатную форму по нескольку реальным документам и сохраните их как эталон. После изменений сравните результат с эталоном: так проще заметить, что пропала строка, «поехала» колонка или изменился итог.
ПЗ
Практическое замечание

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

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

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

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

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

Заполнение параметров
Норма

Все поля содержат данные документа

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

Пустые квадратные скобки или пропуски вместо значений

Строки таблицы
Норма

Все позиции документа выведены, итоги совпадают

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

Часть строк потеряна, итоги не сходятся с документом

Разметка страниц
Норма

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

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

Таблица разрывается, подвал уезжает на отдельный лист

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

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

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

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

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

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

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

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

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

Что такое расширение конфигурации и поможет ли оно?

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

Как добавить в счёт поле, которого нет в типовой форме?

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

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

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

Опасно ли редактировать печатные формы самостоятельно?

Правка макета при наличии резервной копии — низкорискованная операция: максимум, что произойдёт, — форма будет выглядеть неправильно. Рискованна правка кода без проверки: можно получить документы с неверными суммами. Всегда тестируйте на копии базы и сверяйте итоги.

Итог

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

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