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

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

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

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

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

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

Ниже разобраны все рабочие способы изменения печатных форм с конкретными шагами, условиями применения и типичными ошибками. Материал ориентирован на платформу 1С:Предприятие 8.3 и типовые конфигурации на управляемых формах (Бухгалтерия предприятия 3.0, Управление торговлей 11, ERP и аналогичные).

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

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

Сравнение способов изменения печатных форм

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

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

Расширение конфигурации

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

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

Отдельный файл-обработка, подключается через справочник дополнительных отчётов и обработок. Не трогает конфигурацию вообще, но требует навыков программирования на встроенном языке.

Пользовательский макет

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

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

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

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

Порядок правки макета в конфигураторе
  1. 1
    Сделайте резервную копию информационной базы (Администрирование — Выгрузить информационную базу или копия через СУБД).
  2. 2
    Откройте конфигуратор, выполните Конфигурация — Открыть конфигурацию.
  3. 3
    Найдите нужный документ в дереве конфигурации, раскройте ветку Макеты.
  4. 4
    Откройте макет печатной формы (обычно называется МакетПечати, ПФ_MXL_... или по имени формы).
  5. 5
    Отредактируйте ячейки: текст, шрифты, границы, параметры. Параметры выводятся в квадратных скобках, например [НаименованиеОрганизации].
  6. 6
    Если нужно вывести новое поле — добавьте параметр в макет и заполните его в модуле менеджера документа (процедура Печать).
  7. 7
    Обновите конфигурацию базы данных (F7) и проверьте печать на тестовом документе.

Макет табличного документа состоит из именованных областей: шапка, строка табличной части, подвал. Код печати последовательно получает области, заполняет параметры и выводит их в итоговый табличный документ. Если вы добавили параметр в макет, но не заполнили его в коде, на печати появится пустое место или текст вида [ИмяПараметра] — это первый признак того, что код не доработан.

Исходный код формирования печатной формы в типовых конфигурациях находится в модуле менеджера документа (процедуры Печать, ДобавитьКомандуПечати) или в общих модулях с постфиксом «Переопределяемый» и «Печать». Найти нужное место помогает поиск по имени макета по всей конфигурации.

Как изменить печатную форму через расширение конфигурации

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

Общий порядок: в конфигураторе откройте Конфигурация — Расширения конфигурации, создайте новое расширение с понятным именем и префиксом. Затем в основной конфигурации найдите нужный макет и через контекстное меню выберите «Добавить в расширение». Макет скопируется в расширение, где его можно редактировать. Если требуется изменить и логику заполнения, добавьте в расширение модуль менеджера документа и переопределите процедуру печати с помощью аннотации &После или &Вместо.

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

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

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

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

Обработка должна соответствовать формату внешних печатных форм: в модуле объекта — функция СведенияОВнешнейОбработке(), возвращающая структуру с видом «ПечатнаяФорма», списком назначений и командами; экспортная процедура Печать, формирующая табличный документ. Готовые примеры-шаблоны поставляются в составе БСП и публикуются на диске ИТС.

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

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

Как отредактировать макет прямо в режиме Предприятия

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

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

Изменённый пользовательский макет сохраняется в базе и применяется вместо типового. При обновлении конфигурации он не затирается, но если в новой версии изменится состав параметров, макет может потребовать повторной правки.

Как вывести дополнительные данные и проверить результат

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

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

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

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

Параметры в макете
Норма

Все поля заполнены данными документа

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

На печати виден текст в квадратных скобках — параметр не заполнен в коде

Многостраничная печать
Норма

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

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

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

Поведение после обновления
Норма

Форма выглядит так же после обновления конфигурации (для расширений и внешних форм)

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

Изменения пропали — правка была сделана прямо в типовом макете

Доступность кнопки
Норма

Команда печати видна всем нужным пользователям

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

Кнопка есть только у администратора — не настроен быстрый доступ или права

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

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

Отдельно предупредим о регламентированных формах. Счёт-фактура, УПД, ТОРГ-12 (если применяется как первичный документ с обязательными реквизитами) имеют установленную структуру. Добавить дополнительные строки или сведения в них можно — законодательство это допускает, — но удалять или переименовывать обязательные реквизиты нельзя. Перед правкой таких форм сверьтесь с действующими постановлениями о форматах документов.

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

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

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

Частые вопросы

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

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

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

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

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

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

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

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

Можно ли изменить форму счёта-фактуры под свой шаблон?

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

Чем расширение лучше внешней печатной формы?

Расширение позволяет переопределить типовую команду печати, то есть пользователь нажимает привычную кнопку и получает изменённый результат. Внешняя печатная форма добавляет отдельную команду. Зато внешняя форма проще в переносе между базами и не требует конфигуратора для подключения. Выбор зависит от того, нужно ли заменить типовую печать или добавить новую.

Итог

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

Для типовой конфигурации на поддержке изменяйте печатные формы через расширение, внешнюю печатную форму или пользовательский макет — прямая правка макета ломает автоматическое обновление. Любой новый параметр в макете нужно заполнить в коде печати. Регламентированные формы (счёт-фактура, УПД) можно только дополнять, а не перестраивать. Перед правками делайте резервную копию, после — проверяйте форму на документах с разным объёмом данных.