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

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

Для чего предназначен конструктор печати 1С и как с ним работать

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

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

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

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

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

Конструктор печати — это мастер, встроенный в конфигуратор 1С. Он запускается из окна редактирования объекта конфигурации (документа, справочника) через пункт меню «Конструкторы» → «Конструктор печати». Мастер выполняет три действия: создаёт макет табличного документа, формирует команду печати и генерирует заготовку процедуры на встроенном языке, которая заполняет макет данными.

Макет представляет собой табличный документ, разбитый на именованные области: «Шапка», «СтрокаТовары», «Подвал» и тому подобные. В ячейках областей размещаются параметры — например, [НомерДокумента] или [Контрагент], — которые при печати заменяются реальными значениями из базы. Такой подход отделяет внешний вид формы от логики получения данных.

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

Какие задачи решает конструктор печати

Основное назначение инструмента — быстро получить работающую печатную форму для нового или изменённого объекта. Типовые сценарии:

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

Конструктор экономит время именно на стартовом этапе: он сам создаёт структуру макета, прописывает параметры для всех выбранных реквизитов и пишет цикл обхода табличной части. Ручная доработка после этого обычно занимает меньше времени, чем написание всей процедуры с нуля.

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

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

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

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

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

Структура макета и работа с областями

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

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

Ключевые методы при заполнении макета в коде:

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.РеализацияТоваров.ПолучитьМакет("Печать");

ОбластьШапка = Макет.ПолучитьОбласть("Шапка");

ОбластьШапка.Параметры.НомерДокумента = Номер;

ТабДок.Вывести(ОбластьШапка);

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

Изменение типовой печатной формы без доработки конфигурации

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

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

Способы изменить печатную форму

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

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

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

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

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

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

Проверка результата и типичные ошибки

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

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

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

Команда печати в документе
Норма

Кнопка видна, форма открывается без ошибок

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

Команды нет или ошибка «Метод не обнаружен» — проверьте регистрацию в модуле менеджера

Данные в форме
Норма

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

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

Пустые ячейки — параметр в макете не совпадает по имени с параметром в коде

Табличная часть
Норма

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

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

Выводится одна строка — область строки получается или заполняется вне цикла

Типичные ошибки
01
Имена параметров в макете и в коде не совпадают — ячейки остаются пустыми без сообщения об ошибке
02
Область строки табличной части выводится вне цикла — печатается только первая или последняя строка
03
Редактирование типового макета вместо внешней формы — доработки теряются при обновлении конфигурации
04
Не проверена печать при пустых реквизитах — в форме появляются пустые строки или «Нет» вместо значений
05
Итоги считаются в макете вручную, а не из данных документа — расхождения при изменении строк

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

Перед тем как менять типовую форму, распечатайте её «как есть» и отметьте, что именно не устраивает. Часто достаточно добавить один параметр в существующий макет через расширение, а не создавать форму заново — это заметно упрощает сопровождение.
ПЗ
Практическое замечание

Когда конструктор не нужен: альтернативы

Конструктор печати — не единственный способ получить документ на бумаге. В ряде случаев рациональнее другие инструменты:

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

Как выбрать подход

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

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

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

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

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

Частично. Мастер сам создаст макет и код, и простая форма заработает без правок. Но для форматирования, итогов, условий вывода и исправления ошибок понадобится базовое понимание встроенного языка 1С и структуры макета.

Где находятся макеты печатных форм в типовой конфигурации?

Обычно в ветке «Общие» → «Макеты» дерева конфигурации либо непосредственно у объекта (документа) на вкладке «Макеты». В конфигурациях на БСП логика печати размещена в модуле менеджера объекта, а макеты чаще общие.

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

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

Можно ли вывести в форму данные, которых нет в документе?

Да. В процедуре печати можно выполнить запрос к связанным объектам — например, подтянуть адрес и банковские реквизиты контрагента, — и присвоить результат параметрам макета. Конструктор такие данные сам не добавит, это ручная доработка.

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

Картинка вставляется в ячейку макета через «Таблица» → «Рисунки» либо добавляется программно методом работы с рисунками табличного документа. Изображение можно хранить в макете как двоичные данные или брать из присоединённых файлов организации.

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

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