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