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