Внешняя обработка .epf: устройство, запуск, проверка и создание своей
Содержание
Файл с расширением EPF в 1С — это внешняя обработка (External Processing File): отдельная программа на встроенном языке, которая работает внутри вашей базы, но не входит в её конфигурацию. Открыть её можно двумя путями: разово через Файл → Открыть в режиме 1С:Предприятие или постоянно — через справочник «Дополнительные отчеты и обработки», если конфигурация типовая.
Первый путь годится для разовой задачи: загрузить данные, исправить реквизиты, выгрузить таблицу. Второй — для обработки, которой пользуются каждый день: её видно в меню раздела, права на неё раздаются точечно, а файл хранится в самой базе.
Что такое файл EPF и зачем он нужен
Внешняя обработка — это объект метаданных «Обработка», вынесенный в отдельный файл. Внутри у него всё то же, что у обработки в конфигураторе:
- 🧩 реквизиты и табличные части — поля, в которые пользователь вводит параметры;
- 🖼 формы — управляемые и, у старых обработок, обычные;
- 📜 модуль объекта и модули форм — сам программный код;
- 📄 макеты — шаблоны печатных форм, файлы загрузки, картинки.
Формат двоичный. Блокнотом или архиватором его не прочитать, зато Конфигуратор открывает файл целиком, вместе с исходным кодом.
Главный плюс EPF — конфигурация не меняется. Обработку не нужно встраивать, база не снимается с поддержки, обновления типовой встают как обычно. Поэтому внешние обработки широко используют:
- 🖨 для дополнительных печатных форм — свой бланк счёта, акта, накладной;
- 📥 для загрузки данных из Excel, XML, файлов банков и маркетплейсов;
- 🛠 для групповых исправлений — заменить реквизит в тысяче документов, перезаполнить статьи затрат;
- 🔄 для разовых переносов между базами;
- 📊 для сервисных операций администратора — проверить ссылочную целостность, выгрузить список пользователей.
Обработка запускается в контексте той базы, где её открыли. Одна и та же EPF работает в разных базах только при условии, что в них есть объекты, к которым обращается её код. Обработка для БП 3.0, скорее всего, упадёт с ошибкой в ЗУП 3.1.
EPF, ERF, CF и CFE: чем различаются форматы 1С
Путаница между этими файлами — частая причина «не открывается». Коротко: EPF и ERF живут рядом с базой, CF и CFE меняют саму программу.
| Расширение | Что это | Чем открывают | Меняет конфигурацию? |
|---|---|---|---|
.epf | внешняя обработка | 1С:Предприятие, Конфигуратор | нет |
.erf | внешний отчёт | 1С:Предприятие, Конфигуратор | нет |
.cf | файл конфигурации целиком | только Конфигуратор | да, заменяет или объединяет |
.cfu | файл обновления конфигурации | только Конфигуратор | да, обновляет |
.cfe | расширение конфигурации | 1С:Предприятие (раздел расширений), Конфигуратор | дополняет, не трогая основную |
.dt | выгрузка всей информационной базы | только Конфигуратор | заменяет базу целиком |
Разница между EPF и ERF — в назначении. Внешний отчёт строится на системе компоновки данных и выводит таблицу с настройками, отборами, вариантами. Внешняя обработка ничего такого не предполагает: она выполняет действия. Технически отчёт тоже может что-то записывать, а обработка — выводить таблицу, но в справочнике дополнительных отчетов и обработок у них разные виды, и подключаются они в разные места меню.
С CFE путают чаще всего. Расширение конфигурации (появилось в платформе 8.3.6) встраивается в базу и может перехватывать типовые процедуры, добавлять реквизиты в документы, менять формы. EPF так не умеет: она обращается к данным снаружи. Если нужно, чтобы в типовом документе появилось новое поле, — это задача расширения, а не внешней обработки.
Как открыть внешнюю обработку в 1С 8.3
Разовый запуск через меню «Файл»
- Запустите базу в режиме 1С:Предприятие.
- Откройте главное меню — кнопка с тремя полосками в левом верхнем углу окна.
- Выберите
Файл → Открытьили нажмитеCtrl+O. - Укажите файл
.epfна диске. - Если появится предупреждение безопасности — прочитайте, кто автор файла, и подтвердите открытие только для проверенной обработки.
Обработка откроется в новой вкладке. После закрытия базы она нигде не сохраняется — в следующий раз придётся открывать файл снова.
Чтобы пункт сработал, у пользователя должно быть право «Интерактивное открытие внешних обработок». В типовых конфигурациях оно входит в профиль администратора, а обычному бухгалтеру по умолчанию не выдаётся. Без права платформа сообщит о нарушении прав доступа.
Подключение через «Дополнительные отчеты и обработки»
В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP) обработку лучше зарегистрировать в базе:
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Включите флажок «Дополнительные отчеты и обработки», если он снят.
- Перейдите по одноимённой ссылке и нажмите «Добавить из файла».
- Выберите
.epf. Программа прочитает из файла название, версию, вид и список команд. - На вкладке размещения укажите разделы, в которых появится команда, и пользователей, которым она доступна.
- Нажмите «Записать и закрыть».
После этого команда появится в разделе в пункте «Дополнительные обработки» (или в меню «Печать» документа — для печатных форм). Файл хранится внутри базы, и при обновлении обработки достаточно повторно выбрать «Загрузить из файла» в её карточке.
Через справочник регистрируются только обработки, подготовленные под БСП: в модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Обычную EPF без неё программа не примет и сообщит о несовместимости с подсистемой дополнительных отчетов и обработок. Такую обработку открывайте через Файл → Открыть.
Какой способ выбрать
Открытие в Конфигураторе
Чтобы посмотреть устройство обработки или поправить код, запустите базу в режиме Конфигуратор и выберите Файл → Открыть. Откроется дерево объекта: реквизиты, формы, макеты. Отсюда же можно запустить обработку в отладке: в меню Отладка есть команда начала отладки, после чего нужная форма открывается в запущенном сеансе через Файл → Открыть.
Безопасность внешних обработок: что проверить до запуска
Внешняя обработка выполняется с правами пользователя, который её открыл. Под администратором она может сделать с базой всё: удалить документы, изменить пароли, выгрузить данные наружу. А на клиентском компьютере — запустить программу или удалить файлы.
Поэтому EPF из непроверенного источника не открывайте в рабочей базе под полными правами. Сначала — копия базы и просмотр кода.
Защита на уровне платформы
- 🛡 Защита от опасных действий. В карточке пользователя есть одноимённый флажок. Когда он включён, платформа показывает предупреждение перед открытием внешнего файла. Выключать его ради удобства не стоит.
- 🔒 Безопасный режим. Обработка, подключённая программно через
ВнешниеОбработки.Подключить(), по умолчанию выполняется в безопасном режиме: без доступа к файлам, COM-объектам и внешним программам. Справочник БСП тоже ставит обработки в безопасный режим, если разработчик не запросил дополнительных разрешений. - 🏢 Профили безопасности кластера. На клиент-серверной базе администратор может ограничить, что разрешено внешним модулям на сервере.
Что искать в коде
Откройте файл в Конфигураторе и пройдитесь поиском (Ctrl+F, область — вся обработка) по таким словам:
УдалитьФайлы
ЗапуститьПриложение
КомандаСистемы
COMОбъект
HTTPСоединение
FTPСоединение
УстановитьПривилегированныйРежим
УстановитьБезопасныйРежим
ПользователиИнформационнойБазы
Удалить(
Сами по себе эти слова не значат вредоносность. Загрузка курсов по HTTP — нормальное дело. Подозрительно другое: соединение с неизвестным адресом, отключение безопасного режима, работа со списком пользователей в обработке «печати счёта», запутанный код со строками вроде Выполнить(ПолученнаяСтрока).
Как создать свою обработку в формате EPF
Пустая обработка за пять минут
- Запустите Конфигуратор любой базы. Подойдёт и пустая учебная.
- Выберите
Файл → Новый → Внешняя обработка. - Задайте имя латиницей или кириллицей без пробелов, например
ЗагрузкаПрайса, и синоним — его увидит пользователь. - Добавьте реквизиты: файл, дату, организацию — то, что пользователь будет заполнять.
- Создайте основную форму: на вкладке «Формы» нажмите «Добавить», конструктор предложит назначить её основной.
- Напишите код команды в модуле формы.
- Сохраните:
Файл → Сохранить как, тип файла — внешняя обработка (*.epf).
Обработка готова. Её можно открыть в любой базе с подходящими объектами.
Регистрация для справочника БСП
Чтобы обработку можно было добавить в «Дополнительные отчеты и обработки», в модуль объекта вставьте функцию регистрации. Минимальный вариант для обработки, которая открывает форму из раздела:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "1.0";
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Загрузка прайса поставщика";
Команда.Идентификатор = "ОткрытьФорму";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Команда.ПоказыватьОповещение = Ложь;
Возврат ПараметрыРегистрации;
КонецФункции
#КонецЕсли
Для печатной формы вид меняют на ВидОбработкиПечатнаяФорма(), в поле Назначение перечисляют документы, а тип команды ставят на вызов серверного метода с процедурой Печать() в модуле объекта. Точные требования к процедуре печати есть в документации БСП вашей версии.
Правила, по которым обработку удобно поддерживать
- 🧭 Управляемые формы. Тонкий клиент и веб-клиент не показывают обычные формы. Новую обработку делайте только на управляемых.
- 🧮 Тяжёлые вычисления — на сервере. Обращения к базе выносите в серверные процедуры формы или модуля объекта, а не гоняйте данные на клиент.
- 🔢 Версия в имени или в регистрации. Через полгода в папке окажется пять
ЗагрузкаПрайса.epf. ПолеВерсияи дата в имени файла снимают вопрос, какая из них рабочая. - 🧪 Транзакции и отказ. Групповое изменение данных оборачивайте в транзакцию или пишите с возможностью повторного запуска без задвоения.
В 1С:EDT внешние обработки делаются отдельным проектом. Готовый проект выгружается в обычный файл .epf, который открывается в 1С:Предприятии как любой другой.
Ошибки при работе с файлами EPF и что с ними делать
Отдельно про обновления конфигурации. После перехода на новый релиз БП или ЗУП зарегистрированная обработка может перестать работать: изменился реквизит документа или имя общего модуля. Типовая конфигурация в этом не виновата — обработку нужно поправить под новый релиз. Поэтому список подключённых дополнительных обработок полезно держать под рукой и проверять после каждого крупного обновления.