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

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

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

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

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

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

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

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

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

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

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

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

Сравнение способов

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

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

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

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

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

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

Подготовка: что проверить перед началом работы

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

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

Определите точное имя документа, для которого нужна форма, и посмотрите, какие печатные формы уже доступны в его меню «Печать». Это поможет понять, нужна новая форма или достаточно скорректировать существующую.

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

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

Порядок подключения одинаков для Бухгалтерии, Управления торговлей и других конфигураций на БСП.

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

Если при добавлении файла появляется сообщение об ошибке, чаще всего причина в том, что обработка не содержит обязательной функции СведенияОВнешнейОбработке() или написана под другую версию БСП. Такая форма не подключится без доработки.

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

Структура внешней печатной формы: минимальный код

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

Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = Новый Структура;

ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");

ПараметрыРегистрации.Вставить("Наименование", "Счет с логотипом");

ПараметрыРегистрации.Вставить("Версия", "1.0");

ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);

ПараметрыРегистрации.Вставить("Информация", "Печать счета с логотипом компании");

Назначения = Новый Массив;

Назначения.Добавить("Документ.СчетНаОплатуПокупателю");

ПараметрыРегистрации.Вставить("Назначение", Назначения);

Команды = Новый ТаблицаЗначений;

Команды.Колонки.Добавить("Представление");

Команды.Колонки.Добавить("Идентификатор");

Команды.Колонки.Добавить("Использование");

Команды.Колонки.Добавить("ПоказыватьОповещение");

Команды.Колонки.Добавить("Модификатор");

Команда = Команды.Добавить();

Команда.Представление = "Счет с логотипом";

Команда.Идентификатор = "СчетСЛоготипом";

Команда.Использование = "ВызовСерверногоМетода";

Команда.ПоказыватьОповещение = Ложь;

ПараметрыРегистрации.Вставить("Команды", Команды);

Возврат ПараметрыРегистрации;

КонецФункции

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

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

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

  1. Откройте конфигуратор, найдите нужный документ в дереве конфигурации.
  2. В ветке «Макеты» документа добавьте новый макет типа «Табличный документ» и нарисуйте форму: создайте области, задайте ячейки с параметрами (в свойствах ячейки — «Заполнение: Параметр»).
  3. В модуле менеджера документа добавьте процедуру печати, которая получает данные документа и выводит области макета в табличный документ.
  4. В конфигурациях на БСП зарегистрируйте команду печати в процедуре ДобавитьКомандыПечати() модуля менеджера; в простых конфигурациях добавьте кнопку на форму документа.
  5. Обновите конфигурацию базы данных (F7) и проверьте результат.

Типовой фрагмент вывода области макета выглядит так:

Процедура Печать(МассивОбъектов, ПечатнаяФорма, КоллекцияПечатныхФорм) Экспорт

Макет = ПолучитьМакет("СчетНаОплату");

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

Для Каждого Ссылка Из МассивОбъектов Цикл

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

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

ОбластьШапка.Параметры.Контрагент = Ссылка.Контрагент;

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

ТабДок.ВывестиГоризонтальныйРазделительСтраниц();

КонецЦикла;

КонецПроцедуры

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

Способ 3: расширение конфигурации

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

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

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

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

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

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

Форма в меню «Печать»
Норма

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

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

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

Заполнение данных
Норма

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

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

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

Разбивка на страницы
Норма

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

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

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

Печать нескольких документов
Норма

Каждый документ начинается с новой страницы

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

Документы склеиваются — не выводится разделитель страниц

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

Ограничения и когда стоит привлечь специалиста

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

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

Итог

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

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

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

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

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

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

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

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

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

Как изменить типовую печатную форму, не снимая конфигурацию с поддержки?

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

Можно ли вывести логотип и печать организации в форме?

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

Что делать, если внешняя форма выдаёт ошибку «Метод объекта не обнаружен»?

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