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

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

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

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

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

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

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

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

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

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

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

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

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

Обратите внимание на таблицу принадлежности: если в ней пусто, форма зарегистрирована в базе, но ни в одном документе не отобразится. Это самая частая причина вопроса «подключил, а её нет». Добавьте нужные виды документов вручную — например, «Реализация (акты, накладные)» или «Счет на оплату покупателю».

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

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

Общая последовательность такая. Создайте новую внешнюю обработку («Файл → Новый → Внешняя обработка»). Добавьте в неё макет типа «Табличный документ» и скопируйте туда содержимое типового макета — проще всего открыть нужный документ в конфигураторе, найти его макет печатной формы и перенести области. Затем в модуле объекта обработки опишите функцию сведений о внешней обработке и процедуру печати.

Минимальный каркас модуля для подключения через БСП (библиотеку стандартных подсистем) выглядит примерно так:

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

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

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

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

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

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

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

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

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

Три способа вставить печатную форму

Подключение EPF

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

Своя внешняя обработка

Подходит для нестандартных форм и логики. Требует навыков программирования в 1С и знания БСП, но сохраняет конфигурацию на поддержке.

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

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

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

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

Типичные ошибки
01
Форма подключена, но не видна в меню «Печать» — не заполнена таблица «Принадлежность» в карточке обработки.
02
Ошибка «Метод объекта не обнаружен: Печать» — в модуле обработки отсутствует экспортная процедура Печать или у неё неверные параметры.
03
Пустые поля на печати — имена параметров в макете не совпадают с именами в коде заполнения.
04
Форма работала, а после обновления конфигурации пропала — обновление сбросило дополнительные обработки или изменился интерфейс БСП; форму нужно переподключить или адаптировать.
05
EPF не открывается с ошибкой формата — файл создан под другую версию платформы или повреждён при передаче.
Контрольные точки

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

Наличие формы в меню «Печать» документа
Норма

Форма отображается с заданным названием

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

Формы нет — проверьте принадлежность и запись обработки

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

Номер, дата, контрагент, суммы совпадают с документом

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

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

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

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

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

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

Работа под обычным пользователем
Норма

Форма доступна без прав администратора

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

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

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

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

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

Итог

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

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

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

Подключил EPF, но форма не появилась в меню «Печать». Что делать?

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

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

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

Чем отличается макет табличного документа от макета офисного документа?

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

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

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

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

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

Одна форма нужна для нескольких видов документов — придётся дублировать файл?

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