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

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

Как в 1С добавить форму для печати

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

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

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

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

Определитесь со способом: внешняя форма или доработка конфигурации

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

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

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

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

Доработка в конфигураторе

Подходит для новых команд печати, сложных запросов и нестандартной логики. Требует снятия объектов с поддержки и контроля при обновлениях.

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

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

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

Способ 1. Подключение внешней печатной формы

Внешняя печатная форма — это файл с расширением .epf, в котором описан макет и код заполнения. Готовую форму можно получить от разработчика, а простейшие варианты собираются на основе типовой обработки-шаблона. Для подключения выполните следующие действия.

Порядок подключения внешней печатной формы
  1. 1
    Откройте раздел «Администрирование» → «Печатные формы, отчеты и обработки».
  2. 2
    Включите флажок «Дополнительные отчеты и обработки», если он выключен.
  3. 3
    Перейдите по ссылке «Дополнительные отчеты и обработки» и нажмите «Добавить из файла».
  4. 4
    Выберите файл .epf и подтвердите загрузку (при запросе безопасности согласитесь, если источнику файла вы доверяете).
  5. 5
    В карточке обработки проверьте раздел «Размещение»: там должны быть указаны нужные виды документов.
  6. 6
    Нажмите «Записать и закрыть», затем откройте документ и проверьте кнопку «Печать» — новая форма должна появиться в списке.

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

Способ 2. Добавление печатной формы через конфигуратор

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

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

Затем в модуле менеджера документа добавьте процедуру формирования печатной формы. Упрощённый каркас кода выглядит так:

bsl
Процедура ДобавитьКомандуПечати(КомандыПечати) Экспорт
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "МояФорма";
	КомандаПечати.Представление = НСтр("ru = 'Моя печатная форма'");
КонецПроцедуры

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "МояФорма") Тогда
		ТабличныйДокумент = Новый ТабличныйДокумент;
		Макет = ПолучитьМакет("МояФорма");
		// заполнение областей макета данными документа
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "МояФорма", "Моя печатная форма", ТабличныйДокумент);
	КонецЕсли;
КонецПроцедуры

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

Как отредактировать существующий макет без программирования

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

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

Проверка результата

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

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

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

Форма появилась в меню «Печать» документа
Норма

Новый пункт виден в списке команд печати

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

Пункта нет — проверьте размещение обработки или регистрацию команды

Заполнение полей
Норма

Все реквизиты подставлены, нет пустых параметров вида [Параметр]

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

В форме видны имена параметров или пустые места — ошибка в коде заполнения

Печать многострочного документа
Норма

Табличная часть переносится на следующие страницы с повтором шапки

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

Строки обрезаются или наезжают на подвал — настройте области макета

Поведение типовых форм
Норма

Штатные печатные формы работают как раньше

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

Типовые формы сломались — откатите изменения из резервной копии

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

Типичные ошибки и ограничения

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

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

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

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

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

Как выбрать действие

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

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

Итог

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

Для большинства задач достаточно внешней печатной формы через «Дополнительные отчеты и обработки» — это безопасно и не мешает обновлениям. Доработка в конфигураторе нужна для нестандартной логики и всегда требует резервной копии. Результат проверяйте на реальном документе и под обычным пользователем.

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

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

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

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

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

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

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

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

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

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

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

Почему форма видна администратору, но не видна менеджерам?

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