Разработка и Конфигурация · 11 мин
EPF-расширение в 1С: что это и как работать с внешними обработками
EPF — это файл внешней обработки 1С. Разбираем, что это за расширение, как открыть, подключить и создать EPF-файл, чем он отличается от ERF и расширения конфигурации.
EPF — это расширение файла внешней обработки (External Processing File) в платформе 1С:Предприятие. Такой файл содержит программный код, формы, макеты и алгоритмы, которые выполняются поверх основной конфигурации без её изменения. Пользователь может запустить EPF-обработку в режиме предприятия, а разработчик — открыть и отредактировать её в конфигураторе.
Внешние обработки применяют для групповых операций с данными, загрузки и выгрузки информации, формирования нестандартных отчётов, тестирования гипотез перед внедрением доработок в конфигурацию. Главное преимущество формата — база остаётся на поддержке, а функциональность расширяется точечно и без обновления конфигурации.
Важно не путать EPF с расширением конфигурации (файл CFE) — это разные механизмы с разными возможностями и ограничениями. Ниже разбираем, что именно хранится в EPF-файле, как его открыть, подключить, создать собственную обработку и какие риски стоит учитывать при запуске чужих файлов.
Что хранится внутри EPF-файла
EPF-файл — это контейнер в собственном бинарном формате платформы 1С. Внутри него находятся: модуль объекта с программным кодом на встроенном языке, управляемые или обычные формы, макеты (табличные документы, схемы компоновки данных, двоичные данные), а также описание реквизитов и табличных частей обработки.
Открыть такой файл обычным текстовым редактором бессмысленно — вы увидите нечитаемые данные. Для просмотра и редактирования нужен конфигуратор 1С той же или более новой версии платформы, чем та, в которой файл был сохранён. Существуют и сторонние инструменты разборки EPF на исходные файлы для систем контроля версий, но для повседневной работы достаточно штатных средств.
Чем EPF отличается от ERF и расширения конфигурации
В экосистеме 1С легко перепутать три похожих механизма: внешние обработки (EPF), внешние отчёты (ERF) и расширения конфигурации (CFE). Различия принципиальны: обработка ориентирована на действия с данными, отчёт — на вывод информации, а расширение изменяет поведение самой конфигурации, добавляя или переопределяя объекты.
| Параметр | EPF (обработка) | ERF (отчёт) | CFE (расширение) |
|---|---|---|---|
| Основное назначение | Действия с данными, сервисные операции | Формирование и вывод отчётов | Доработка конфигурации без снятия с поддержки |
| Изменяет конфигурацию | Нет | Нет | Да, через механизм расширений |
| Схема компоновки данных | Опционально | Основной инструмент | Зависит от объектов |
| Хранение в базе | Файл или справочник доп. обработок | Файл или справочник доп. отчётов | Внутри информационной базы |
| Запуск | Вручную или по расписанию | Вручную или по расписанию | Автоматически при старте сеанса |
Выбор механизма зависит от задачи. Если нужно разово обработать данные — достаточно EPF. Если требуется постоянно изменять поведение типовых документов или добавлять реквизиты — правильнее использовать расширение конфигурации, а не пытаться решить всё внешней обработкой.
Как открыть EPF-файл в 1С
Самый быстрый способ запустить внешнюю обработку — открыть её напрямую в режиме 1С:Предприятие. Для этого в главном меню выберите «Файл → Открыть» и укажите путь к EPF-файлу. Платформа выполнит обработку в текущем сеансе с правами текущего пользователя.
Для просмотра и редактирования кода файл открывают в конфигураторе: «Файл → Открыть» с выбором того же EPF-файла. При этом конфигурация базы может быть любой — внешняя обработка не привязана к конкретной базе, хотя её код может обращаться к объектам конкретной конфигурации и без них работать не будет.
- 1Сохраните EPF-файл на диск в доступную папку
- 2Запустите 1С в режиме предприятия под пользователем с достаточными правами
- 3Откройте меню «Файл → Открыть» и выберите файл
- 4Подтвердите открытие, если платформа спросит о доверии
- 5Проверьте результат работы обработки на тестовых данных
Если обработка запускается, но выдаёт ошибки об отсутствующих объектах метаданных — значит, она написана под другую конфигурацию или другую версию. Это нормальная ситуация: EPF-файлы почти всегда привязаны к составу объектов конкретной прикладной решения.
Как подключить обработку на постоянной основе
Разовый запуск через «Файл → Открыть» неудобен, если обработкой пользуются регулярно. В конфигурациях на базе Библиотеки стандартных подсистем (БСП) есть справочник «Дополнительные отчеты и обработки», который позволяет зарегистрировать EPF-файл в базе и вывести его в интерфейс пользователей.
При подключении система запрашивает у обработки сведения: название, версию, вид (заполнение объекта, печатная форма, создание связанных объектов, дополнительная обработка), назначение — для каких объектов конфигурации она предназначена. Для этого в модуле обработки должна быть экспортная функция СведенияОВнешнейОбработке(), возвращающая структуру с параметрами регистрации.
После регистрации обработкой можно управлять централизованно: назначать права доступа, включать в расписание регламентных заданий, обновлять версию файла без обращения к каждому пользователю. Это стандартный способ эксплуатации внешних доработок в типовых конфигурациях.
Как создать собственную EPF-обработку
Новая внешняя обработка создаётся в конфигураторе через меню «Файл → Новый → Внешняя обработка». Дальше добавляются нужные элементы: форма для интерактивной работы, реквизиты для хранения параметров, макеты для печатных форм или схем компоновки, программный код в модуле объекта и модулях форм.
Минимальная обработка может состоять только из модуля объекта с процедурой, выполняющей нужные действия. Например, обработка для пакетной установки цен или перепроведения документов за период часто обходится без формы — параметры задаются прямо в коде или запрашиваются программно.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
ПараметрыРегистрации.Вставить("Наименование", "Моя обработка");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
Возврат ПараметрыРегистрации;
КонецФункцииГотовую обработку сохраняют через «Файл → Сохранить как» — на диске появляется EPF-файл, который можно передавать коллегам, подключать в другие базы с той же конфигурацией или хранить в репозитории. Перед передачей файла в рабочую базу обработку обязательно проверяют на копии.
Безопасность: риски при запуске чужих EPF-файлов
Внешняя обработка — это полноценный исполняемый код, который выполняется с правами запустившего пользователя. Вредоносная или некорректно написанная обработка может удалить или исказить данные, отправить информацию наружу, изменить настройки базы. Открывать EPF-файлы из непроверенных источников в рабочей базе недопустимо.
Платформа 1С поддерживает безопасный режим исполнения, в котором ограничены опасные операции: доступ к файловой системе, COM-объектам, внешним компонентам. В типовых конфигурациях действует механизм профилей безопасности, а администратор может запретить пользователям открытие внешних обработок вовсе — через роль или настройки программы.
Когда использовать EPF, а когда — другой механизм
EPF-обработка оптимальна для разовых и периодических сервисных задач: групповая обработка данных, загрузка из файлов, проверка корректности учёта, служебные операции администратора. Она быстро создаётся, легко переносится между базами и не затрагивает конфигурацию.
Если доработка должна работать постоянно и прозрачно для пользователей — менять поведение документов, добавлять реквизиты, подменять типовые процедуры — правильный инструмент это расширение конфигурации (CFE). Если задача сводится к выводу данных, используйте внешний отчёт (ERF) с схемой компоновки. Попытки натянуть EPF на чужие сценарии приводят к громоздким и хрупким решениям.
Как выбрать действие
Что важно запомнить
EPF — файл внешней обработки 1С, который выполняется поверх конфигурации без её изменения. Запускается через «Файл → Открыть», для постоянной работы регистрируется в справочнике дополнительных обработок. Перед запуском чужого файла проверьте код и сделайте резервную копию базы.
Частые вопросы
Чем открыть EPF-файл, если нет 1С?
Без установленной платформы 1С содержимое EPF-файла полноценно не просмотреть — это бинарный формат. Существуют сторонние утилиты разборки на исходные файлы, но для редактирования и запуска всё равно потребуется платформа. Практичный вариант — попросить автора прислать описание алгоритма или текст модуля отдельно.
Можно ли конвертировать EPF в ERF или наоборот?
Прямой конвертации нет, но в конфигураторе можно создать новый объект нужного типа и перенести в него формы, макеты и код. Основная работа — адаптация модуля: у отчёта и обработки разный жизненный цикл и состав стандартных обработчиков, поэтому простое копирование кода обычно требует доработки.
Почему EPF-обработка не открывается в моей базе?
Частые причины: файл сохранён в более новой версии платформы, у пользователя нет права на открытие внешних обработок, действует запрет администратора или антивирус блокирует файл. Также проверьте, что файл не повреждён при скачивании — размер должен совпадать с исходным.
Опасно ли запускать внешние обработки в рабочей базе?
Зависит от содержимого. Обработка выполняется с правами пользователя и может изменять любые доступные ему данные. Перед запуском чужого файла просмотрите код в конфигураторе, сделайте резервную копию и сначала протестируйте на копии базы. Используйте безопасный режим, если обработка это поддерживает.
Что делать, если обработка перестала работать после обновления конфигурации?
Вероятно, в новой версии переименовали или удалили объекты метаданных, к которым обращается код. Откройте обработку в конфигураторе, найдите обращения к изменённым объектам по тексту ошибки и скорректируйте код. Если обработка зарегистрирована в справочнике дополнительных обработок, после исправления обновите файл в карточке элемента.
Можно ли запускать EPF-обработку по расписанию?
Да, если обработка зарегистрирована в справочнике дополнительных отчетов и обработок и в её сведениях предусмотрены команды с вариантом вызова на сервере. Тогда в карточке обработки настраивается расписание, и платформа выполняет её как регламентное задание. Обработки, требующие интерактивного ввода, по расписанию работать не смогут.