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

Разработка и Конфигурация · 11 мин

ВПФ в 1С: что это такое и как работать с внешними печатными формами

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

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

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

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

Что такое ВПФ и чем она отличается от других способов доработки

Аббревиатура ВПФ расшифровывается как «внешняя печатная форма». Технически это внешняя обработка (файл с расширением .epf), написанная по определенным правилам: внутри нее есть функция СведенияОВнешнейОбработке(), которая сообщает программе, для каких документов предназначена форма, как она называется и какая команда выводится пользователю. Когда пользователь нажимает кнопку «Печать» в документе, 1С вызывает процедуру Печать() из этого файла и передает ей ссылки на печатаемые объекты.

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

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

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

Подходит для одного или нескольких макетов без изменения логики. Подключается пользователем, не влияет на обновления. Не может менять поведение документов.

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

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

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

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

В каких конфигурациях работает механизм ВПФ

Механизм внешних печатных форм доступен в конфигурациях, построенных на Библиотеке стандартных подсистем (БСП): это «1С:Бухгалтерия предприятия 3.0», «1С:Управление торговлей 11», «1С:ERP», «1С:Зарплата и управление персоналом 3.1», «1С:Комплексная автоматизация» и другие современные типовые решения на управляемых формах. Именно БСП предоставляет подсистему «Дополнительные отчеты и обработки», через которую подключаются ВПФ.

В старых конфигурациях на обычных формах (например, «Управление торговлей 10.3» или «Бухгалтерия 2.0») тоже есть поддержка внешних печатных форм, но регистрация выполняется иначе — через справочник «Внешние обработки» и файл описания. Если файл ВПФ написан под БСП, в старой конфигурации он не заработает, и наоборот: перед покупкой или разработкой формы уточните, для какой конфигурации и версии она создана.

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

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

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

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

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

Как устроена ВПФ внутри: минимум для понимания

Файл .epf — это контейнер, в котором живут модуль объекта, макеты и формы. Для печатной формы обязательны два элемента. Первый — функция СведенияОВнешнейОбработке() в модуле объекта: она возвращает структуру с видом обработки «ПечатнаяФорма», версией, наименованием и таблицей команд. Каждая команда — это отдельный пункт в меню «Печать».

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

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

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

Как создать простую ВПФ самостоятельно

Создание внешней печатной формы требует базовых навыков работы в конфигураторе 1С, но не требует изменения самой конфигурации. Работа ведется через пункт меню «Файл — Новый — Внешняя обработка».

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

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

Типичные ошибки при работе с ВПФ

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

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

Как проверить, что форма работает корректно

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

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

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

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

Новый пункт виден у всех нужных пользователей

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

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

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

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

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

Пустые поля, нулевые суммы, обрезанные наименования

Разметка страниц
Норма

Таблица переносится целиком, подписи и печать на последней странице

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

Строка разорвана между страницами, подпись уехала на пустой лист

Работа на разных документах
Норма

Форма корректна для документов с НДС и без, с разным числом строк

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

На части документов ошибка или искаженный вид

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

Итог

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

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

Частые вопросы о ВПФ в 1С

Чем ВПФ отличается от внешней обработки?

Внешняя обработка — общее понятие: любой файл .epf, выполняющий какие-то действия. ВПФ — частный случай обработки, у которой вид указан как «Печатная форма», а ее задача — сформировать табличный документ для печати. Каждая ВПФ является внешней обработкой, но не каждая обработка — печатной формой.

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

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

Пропадет ли ВПФ после обновления конфигурации?

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

Почему при открытии файла 1С пишет о небезопасности?

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

Можно ли сделать одну ВПФ для нескольких видов документов?

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

Где взять готовую ВПФ, если нет программиста?

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