Файл .epf: как запустить и отредактировать внешнюю обработку 1С 8.3
Содержание
Файл EPF открывают программой 1С:Предприятие 8 — другой программы для него нет. Чтобы запустить обработку, войдите в информационную базу в режиме 1С:Предприятие и выберите в главном меню Файл → Открыть (или нажмите Ctrl+O). Чтобы посмотреть или изменить код и формы, откройте тот же файл через Файл → Открыть в Конфигураторе.
Блокнот, архиватор или Word покажут только набор нечитаемых байтов: EPF — это двоичный контейнер 1С, внутри которого лежат модули, формы и макеты. Ниже — по шагам для каждого способа, плюс запуск из командной строки и разбор ошибок, из-за которых файл «не открывается».
Что лежит внутри EPF-файла и зачем он нужен
EPF расшифровывается как External Processing File — файл внешней обработки. Это кусок программы, который живёт отдельно от конфигурации базы. Его можно подключить к любой базе, не меняя саму конфигурацию и не снимая её с поддержки.
Чем обычно оказывается EPF на практике:
- 🧾 печатная форма, которой нет в типовой конфигурации (бланк счёта под ваш шаблон, этикетка);
- 🔄 загрузка данных из Excel , CSV или XML — номенклатура, остатки, банковская выписка;
- 🛠 сервисная обработка: групповая перепроводка, замена реквизитов, поиск дублей;
- 📦 заполнение табличной части документа по сложному правилу;
- 🧪 консоль запросов или консоль кода для администратора.
Внутри файла хранятся:
- Модуль объекта — основной код обработки.
- Формы (управляемые или обычные) и модули форм.
- Макеты — например, табличный документ печатной формы.
- Реквизиты и табличные части самой обработки.
Код при этом выполняется в контексте той базы, куда вы обработку открыли. Обработка видит справочники, документы и регистры базы и может их менять.
Запускайте только обработки из надёжного источника. Внешняя обработка выполняется с вашими правами в базе. Если у вас роль администратора, чужой EPF может удалить или испортить данные, не спрашивая подтверждения.
Как открыть EPF в режиме 1С:Предприятие
Это способ для пользователя, которому нужно просто запустить обработку и получить результат.
Разовое открытие через меню «Файл»
- Запустите 1С и выберите нужную базу в списке, нажмите 1С:Предприятие.
- Откройте главное меню — значок с тремя полосками в левом верхнем углу окна.
- Выберите
Файл → Открыть…или нажмитеCtrl+O. - В окне выбора файла укажите EPF. Если в фильтре окна стоит конкретный тип, переключите его на «Все файлы».
- Если платформа покажет предупреждение безопасности, прочитайте его и подтвердите открытие, только если доверяете файлу.
- Откроется основная форма обработки — дальше работайте по её инструкции.
Тот же путь подходит для внешних отчётов ERF.
Если в меню нет пункта «Открыть» или он не срабатывает
Пункт открытия внешних файлов работает только при наличии права на интерактивное открытие внешних обработок. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) это право входит в отдельную роль, а обычным пользователям его чаще всего не дают.
Варианты решения:
- 👤 попросить администратора включить пользователю право открывать внешние отчёты и обработки (через группу доступа или профиль);
- 📌 зарегистрировать обработку в базе как дополнительную — тогда пользователю не нужно право на открытие файлов вообще.
Постоянное подключение как дополнительной обработки
Если обработкой будут пользоваться регулярно, удобнее подключить её один раз. В Бухгалтерии 3.0 путь такой:
Администрирование → Печатные формы, отчеты и обработки.- Включите флажок Дополнительные отчеты и обработки, если он выключен.
- Перейдите по ссылке «Дополнительные отчеты и обработки» и нажмите Добавить из файла….
- Выберите EPF, подтвердите предупреждение безопасности.
- В карточке обработки укажите, в каких разделах она будет видна и каким пользователям доступна. Сохраните.
Добавить обработку этим способом получится, только если её разработчик предусмотрел регистрацию: в модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Если её нет, программа сообщит, что обработка не поддерживает подключение, — тогда остаётся открывать файл через Файл → Открыть.
| Способ | Когда подходит | Что нужно |
|---|---|---|
Файл → Открыть | разовый запуск, проверка обработки | право на открытие внешних обработок |
| Дополнительные обработки | регулярная работа, печатная форма в документе | права администратора для регистрации, поддержка регистрации в самом файле |
Параметр /Execute | автоматический запуск по расписанию или ярлыку | путь к файлу и база, доступная без диалогов |
Как открыть EPF в Конфигураторе для просмотра кода
Конфигуратор нужен, если вы хотите понять, что делает обработка, поправить её или выяснить причину ошибки.
- Запустите 1С, выберите любую базу и нажмите Конфигуратор. Конфигурацию базы открывать не обязательно.
- В меню выберите
Файл → Открыть…и укажите EPF. - Слева появится дерево объекта: реквизиты, табличные части, формы, макеты.
- Двойной щелчок по корню дерева открывает окно свойств. Кнопка Модуль объекта в нём или пункт контекстного меню открывает код.
- Формы открываются двойным щелчком по имени формы, код формы — на вкладке «Модуль» редактора формы.
После правки сохраните файл через Файл → Сохранить (Ctrl+S). Чтобы проверить изменения, снова откройте EPF в режиме Предприятие — уже открытую там форму нужно закрыть и открыть файл заново.
Перед правкой чужой обработки сохраните копию исходного файла под другим именем. Изменённый EPF перестаёт совпадать с версией разработчика, и его обновление потом придётся сверять вручную.
Создать новую внешнюю обработку
В Конфигураторе выберите Файл → Новый… и в списке типов — Внешняя обработка. Сохраняется она сразу в файл EPF. Для внешнего отчёта выбирают Внешний отчет
, файл получится с расширением ERF.
Отладка внешней обработки
Точки останова в модуле EPF работают, если обработка запущена из отладочного сеанса. Запустите Предприятие из Конфигуратора командой Отладка → Начать отладку, откройте в нём EPF через Файл → Открыть. Предварительно откройте этот же файл в Конфигураторе и поставьте точки останова — отладчик остановится на них.
Выгрузка в XML для системы контроля версий
Двоичный EPF неудобно хранить в Git: изменения не видно. Обработку можно разобрать на XML-файлы — команда есть в контекстном меню корня дерева обработки (Выгрузить в файлы…), а в пакетном режиме используется параметр /DumpExternalDataProcessorOrReportToFiles:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"C:\Bases\Test" /N"Администратор" /P"" ^
/DumpExternalDataProcessorOrReportToFiles "C:\src\Obrabotka.xml" "C:\epf\Obrabotka.epf"
Обратная сборка — параметр /LoadExternalDataProcessorOrReportFromFiles: первым указывают корневой XML-файл исходников, вторым — путь к итоговому EPF. Номер версии платформы в пути подставьте свой.
Как запустить EPF из командной строки и ярлыка
Для обработок, которые запускаются по расписанию (выгрузка на сайт, ночная загрузка цен), используют параметр запуска /Execute. Платформа входит в базу и сразу открывает указанную обработку.
Файловая база:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"C:\Bases\Buh" /N"Робот" /P"Пароль" ^
/Execute"C:\epf\Vygruzka.epf" /DisableStartupMessages
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Робот" /P"Пароль" ^
/Execute"\\fileserver\epf\Vygruzka.epf" /C"РежимРобота"
Что делают параметры:
/F— путь к каталогу файловой базы;/S— сервер и имя базы через обратную косую черту;/Nи/P— пользователь и пароль;/Execute— путь к EPF, который откроется после входа;/C— произвольная строка, которую обработка прочитает из глобальной переменнойПараметрЗапуска;/DisableStartupMessages— подавляет стартовые сообщения платформы.
Чтобы обработка отработала без участия человека, логика должна выполняться при открытии формы (например, в обработчике ПриОткрытии), а в конце — закрывать сеанс командой ЗавершитьРаботуСистемы(Ложь). Иначе окно 1С останется висеть, и следующий запуск по расписанию упрётся в занятую лицензию.
Пароль в bat-файле лежит открытым текстом. Создайте для робота отдельного пользователя с минимальными правами и храните скрипт в папке, доступной только администратору.
Программное подключение из кода
Если EPF нужно открыть из другой обработки или из конфигурации, в управляемом приложении файл сначала передают на сервер:
&НаКлиенте
Процедура ОткрытьВнешнююОбработку(ДвоичныеДанныеФайла)
Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла, УникальныйИдентификатор);
ИмяОбработки = ПодключитьНаСервере(Адрес);
ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");
КонецПроцедуры
&НаСервере
Функция ПодключитьНаСервере(Адрес)
Возврат ВнешниеОбработки.Подключить(Адрес, , Ложь);
КонецФункции
Третий параметр метода Подключить отвечает за безопасный режим. Значение Ложь снимает ограничения — передавайте его только для проверенных файлов. С включённым безопасным режимом обработка не сможет, например, работать с файлами на диске сервера.
EPF и ERF: в чём разница
Оба формата создаются в Конфигураторе и открываются одинаково. Различаются назначением и устройством.
| EPF — внешняя обработка | ERF — внешний отчёт | |
|---|---|---|
| Назначение | выполняет действия: загружает, меняет, печатает | показывает данные: таблицы, итоги, диаграммы |
| Схема компоновки данных | не используется как основа | основная схема отчёта задаётся в свойствах |
| Настройки пользователя | только то, что заложил разработчик | варианты отчёта, отборы, группировки «из коробки» |
| Регистрация в БСП | как дополнительная обработка или печатная форма | как дополнительный отчёт |
| Открытие | Файл → Открыть | Файл → Открыть |
Сменить тип файла переименованием нельзя. EPF, переименованный в ERF, не превратится в отчёт: внутри останется обработка без схемы компоновки и вариантов отчёта. Чтобы сделать из обработки отчёт, создают новый внешний отчёт и переносят в него код и макеты.
Ещё одно различие, о котором часто забывают: формы. Обработки для старых конфигураций на обычном приложении (Бухгалтерия 2.0, УТ 10) сделаны на обычных формах. В тонком клиенте и веб-клиенте такие формы не открываются — нужен толстый клиент, а в базе на управляемом интерфейсе поведение обработки и вовсе непредсказуемо, потому что она обращается к объектам старой конфигурации.
Почему EPF не открывается: ошибки и решения
Ещё две ситуации, которые не дают явной ошибки:
- 🔒 Файл открыт, но кнопки не работают. Обработка подключена в безопасном режиме и не может читать файлы, запускать COM-объекты или обращаться к интернету. Проверьте настройки безопасного режима в карточке дополнительной обработки.
- 📂 Изменения в EPF «не применяются». Платформа держит открытый вариант в сеансе. Закройте форму обработки и откройте файл заново, а если обработка зарегистрирована как дополнительная — загрузите новую версию в её карточку командой обновления из файла.