Загрузка EPF в справочник дополнительных обработок 1С
Содержание
Внешние печатные формы в 1С 8.3 подключают не через меню Файл → Открыть, а в справочнике Дополнительные отчёты и обработки. Путь: Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки. Если пункта нет — подсистема просто выключена, её нужно включить флажком в том же разделе.
Разница принципиальная. Через Файл → Открыть форма запускается разово и исчезнет после перезапуска, да и в облачных базах (1С:Фреш) этот пункт недоступен. А загруженная в справочник EPF привязывается к документу и появляется в его меню Печать у всех пользователей — ровно так, как типовая форма.
Подключить внешнюю форму можно тремя способами, и выбор зависит от задачи:
| Способ | Когда применять | Сохраняется после перезапуска |
|---|---|---|
Файл → Открыть | разовый запуск, тест формы у себя | нет |
| Справочник доп. обработок | постоянная печать из документов у всех | да |
| Расширение конфигурации | своя форма «намертво» в меню печати | да |
Дальше разберём основной способ — справочник — и в конце покажем, когда вместо него берут расширение.
Что такое EPF и чем она отличается от обработки
.epf — это расширение файла внешней обработки 1С. Внутри может быть что угодно: печатная форма, заполнение документа, дополнительный отчёт, сервисное действие. Для подсистемы важен не тип файла, а то, что указано внутри него в функции регистрации.
Чтобы 1С распознала файл именно как печатную форму, в обработке должна быть экспортная функция СведенияОВнешнейОбработке(), которая возвращает структуру с видом ПечатнаяФорма и таблицей команд. Если этой функции нет, справочник либо откажется принимать файл, либо подключит его как обычную обработку без привязки к печати.
Та же функция задаёт вид обработки. От него зависит, куда форма встроится в интерфейсе:
- 🖨
ПечатнаяФорма— добавляется в менюПечатьдокумента; - 📝
ЗаполнениеОбъекта— в менюЗаполнитьдокумента; - 📊
ДополнительныйОтчёт— в список отчётов раздела; - 🔧
ДополнительнаяОбработка— запускается как сервисное действие из рабочего места.
Для задачи «нужна своя накладная, акт или УПД» вид всегда ПечатнаяФорма.
Отличить «правильную» форму от произвольной обработки до загрузки нельзя визуально — проверка происходит при добавлении. Если файл дал разработчик «под БСП», он подойдёт. Если это старая форма без функции регистрации, её придётся дорабатывать в конфигураторе.
Включение подсистемы дополнительных обработок
По умолчанию возможность подключать внешние формы выключена — это защита от запуска чужого кода. Включается один раз:
- Откройте
Администрирование → Печатные формы, отчёты и обработки. - Поставьте флажок
Дополнительные отчёты и обработки. - Там же появится ссылка на сам справочник.
Флажок доступен только пользователю с правами администратора. В типовых БП 3.0, ЗУП 3.1, УТ 11, КА и ERP раздел называется одинаково; отличается лишь набор объектов, к которым потом можно привязать форму.
В базовых версиях и в части отраслевых решений подсистемы может не быть вовсе. Тогда внешнюю форму подключить штатно нельзя — только открывать через Файл → Открыть в толстом клиенте.
Добавление файла EPF в справочник
Когда подсистема включена, откройте справочник Дополнительные отчёты и обработки и действуйте по шагам:
- Нажмите
Создать— откроется форма новой обработки. - В появившемся окне выбора файла укажите ваш
.epfна диске. - 1С прочитает файл и подставит наименование и версию из его регистрационных данных.
- Проверьте поле
Вид— для печатной формы должно стоятьПечатная форма. - Запишите элемент кнопкой
Записать и закрыть.
При загрузке 1С спросит про безопасный режим. Оставляйте флажок Безопасный режим включённым, если форму вы не писали сами и не уверены в её коде: в этом режиме обработке запрещены опасные операции — работа с файлами на сервере, COM, запуск внешних программ. Снимать флажок стоит только для доверенных форм, которым эти операции нужны по задаче.
Ещё одно поле карточки — Публикация. Оно управляет тем, доступна ли форма пользователям прямо сейчас:
Используется— форма работает и видна в меню печати;Отключено— форма в базе осталась, но из интерфейса убрана (удобно, когда нужно временно её спрятать без удаления);Отладка— для разработчика во время настройки.
Если форму загрузили, а в документе её нет, первым делом проверьте, что Публикация стоит в значении Используется, а не осталась в Отладке.
Настройка размещения: к каким документам привязать
Пока форма ни к чему не привязана, она нигде не появится. Привязка настраивается в поле Размещение (в некоторых релизах — Назначение) прямо в карточке обработки.
- В строке
Размещениенажмите на ссылку с перечнем объектов. - Откроется список документов и справочников конфигурации.
- Отметьте флажками те объекты, из которых форма должна печататься. Например, для формы по реализации —
Реализация (акты, накладные, УПД). - Нажмите
ОК.
Одну форму можно привязать сразу к нескольким видам документов, если её код это поддерживает. Команды, которые форма добавит в меню Печать, берутся из её же функции регистрации — вручную их названия не задают.
Если в списке размещения нет нужного документа, значит форма в своей регистрационной функции не объявила его в составе назначения. Это правится только в коде обработки, в конфигураторе или через расширение.
Права доступа и видимость формы у пользователей
Частая ситуация: администратор форму подключил, а у рядового пользователя её в меню нет. Причин обычно две — права и быстрый доступ.
Права. Пользователю нужна роль на работу с дополнительными обработками. В типовых конфигурациях за это отвечает профиль с правом использования дополнительных отчётов и обработок. Если у человека вообще нет доступа к документу, к которому привязана форма, печать он тоже не увидит — права на объект первичны.
Быстрый доступ. В карточке обработки есть таблица Быстрый доступ к командам. Здесь указывают, каким пользователям команда доступна напрямую. Если список пуст, команда видна всем, у кого есть права; если заполнен — только перечисленным. Проверьте, что нужные сотрудники в списке либо что он пуст.
Проверить, кто именно видит форму, удобно через Администрирование → Настройки пользователей и прав → Профили групп доступа: право на дополнительные обработки входит в профиль, а не выдаётся отдельному сотруднику. Если формой пользуется весь отдел, выдавать доступ лучше через профиль группы, а не каждому вручную.
После изменения прав пользователю достаточно переоткрыть форму документа — перезапуск базы не нужен. Если человек уже был в сеансе на момент смены профиля, ему проще перезайти в программу, чтобы новые права применились.
Как напечатать форму в режиме предприятия
Теперь со стороны пользователя. Открываете документ, к которому привязали форму (или выделяете его в списке), и смотрите в меню Печать:
- в списке команд печати рядом с типовыми формами появится ваша;
- выбираете её — 1С формирует табличный документ;
- дальше обычная печать:
Ctrl+Pили кнопка принтера, предпросмотр, сохранение в PDF или Excel.
Если форма поддерживает пакетную печать, её можно вызвать сразу для нескольких выделенных документов из списка: выделяете строки с Ctrl или Shift, затем Печать → ваша форма. Это зависит от кода конкретной обработки — не каждая EPF умеет работать с набором документов.
Пункт Печать есть и в самом документе, и в форме списка. Если из списка команда не видна, откройте один документ — иногда форма объявлена только для формы объекта, а не для списка.
Альтернатива: своя печатная форма через расширение
Справочник доп. обработок хорош, когда форма готова и просто подключается. Но у него есть ограничения: если нужен собственный макет, а объект в размещении недоступен или формат файла подсистема не принимает, печатную форму встраивают через расширение конфигурации .
Расширения появились в платформе 8.3.6 и позволяют менять типовую конфигурацию , не снимая её с поддержки. Для печатной формы схема такая:
- В конфигураторе создаёте расширение (
Конфигурация → Расширения конфигурации). - Заимствуете нужный документ и добавляете свою команду печати и макет.
- Сохраняете расширение в файл
.cfe. - В режиме предприятия загружаете его через
Администрирование → Печатные формы, отчёты и обработки → Расширения(или в конфигураторе).
Загрузка файла .cfe и обновление конфигурации базы — это два разных шага. После добавления расширения платформа может потребовать подтвердить обновление; до этого форма не заработает.
Плюс расширения — форма становится частью базы и переживает обновления типовой конфигурации лучше, чем внешний файл, привязанный к конкретной структуре документа. Минус — нужен доступ к конфигуратору и навык разработки. Для готовых EPF «под БСП» это избыточно: достаточно справочника.
Типичные ошибки при подключении и печати
Большинство проблем сводится к нескольким сценариям. Ниже — симптом и что проверять.
.epf, а не .erf (внешний отчёт) и не .cf. Отчёт грузится в поле Вид = Дополнительный отчёт, а не как печатная форма.СведенияОВнешнейОбработке с видом ПечатнаяФорма). Такой файл печатать из документа не будет — нужна доработка в конфигураторе.Размещение в карточке и права пользователя на документ.Безопасный режим в карточке обработки.Не снимайте безопасный режим у форм из непроверенных источников. Внешняя обработка — это исполняемый код; в небезопасном режиме она может читать и менять файлы на сервере и обращаться к другим программам от имени пользователя 1С.
Частые вопросы
Чем отличается .epf от .erf?
.epf — внешняя обработка (в том числе печатные формы и заполнение документов). .erf — внешний отчёт. В справочнике дополнительных обработок отчёт подключается с видом Дополнительный отчёт, обработка — с видом Дополнительная обработка или Печатная форма.Можно ли подключить EPF в облаке 1С:Фреш?
Дополнительные отчётности и обработки и обычно с включённым безопасным режимом. Пункт Файл → Открыть в облаке недоступен, а формы с небезопасным кодом провайдер может блокировать.Форма была в базе, после обновления конфигурации пропала. Почему?
Нужно ли перезапускать базу после подключения формы?
Как удалить ненужную внешнюю форму?
Дополнительные отчёты и обработки, найдите элемент и пометьте на удаление, затем удалите помеченные объекты через Администрирование → Обслуживание → Удаление помеченных объектов. Сам файл .epf на диске при этом не трогается.