Файл .epf: как запустить и отредактировать внешнюю обработку 1С 8.3

· 9 мин

Содержание

Файл EPF открывают программой 1С:Предприятие 8 — другой программы для него нет. Чтобы запустить обработку, войдите в информационную базу в режиме 1С:Предприятие и выберите в главном меню Файл → Открыть (или нажмите Ctrl+O). Чтобы посмотреть или изменить код и формы, откройте тот же файл через Файл → Открыть в Конфигураторе.

Блокнот, архиватор или Word покажут только набор нечитаемых байтов: EPF — это двоичный контейнер 1С, внутри которого лежат модули, формы и макеты. Ниже — по шагам для каждого способа, плюс запуск из командной строки и разбор ошибок, из-за которых файл «не открывается».

Что лежит внутри EPF-файла и зачем он нужен

EPF расшифровывается как External Processing File — файл внешней обработки. Это кусок программы, который живёт отдельно от конфигурации базы. Его можно подключить к любой базе, не меняя саму конфигурацию и не снимая её с поддержки.

Чем обычно оказывается EPF на практике:

  • 🧾 печатная форма, которой нет в типовой конфигурации (бланк счёта под ваш шаблон, этикетка);
  • 🔄 загрузка данных из Excel , CSV или XML — номенклатура, остатки, банковская выписка;
  • 🛠 сервисная обработка: групповая перепроводка, замена реквизитов, поиск дублей;
  • 📦 заполнение табличной части документа по сложному правилу;
  • 🧪 консоль запросов или консоль кода для администратора.

Внутри файла хранятся:

  1. Модуль объекта — основной код обработки.
  2. Формы (управляемые или обычные) и модули форм.
  3. Макеты — например, табличный документ печатной формы.
  4. Реквизиты и табличные части самой обработки.

Код при этом выполняется в контексте той базы, куда вы обработку открыли. Обработка видит справочники, документы и регистры базы и может их менять.

Запускайте только обработки из надёжного источника. Внешняя обработка выполняется с вашими правами в базе. Если у вас роль администратора, чужой EPF может удалить или испортить данные, не спрашивая подтверждения.

Как открыть EPF в режиме 1С:Предприятие

Это способ для пользователя, которому нужно просто запустить обработку и получить результат.

Разовое открытие через меню «Файл»

  1. Запустите 1С и выберите нужную базу в списке, нажмите 1С:Предприятие.
  2. Откройте главное меню — значок с тремя полосками в левом верхнем углу окна.
  3. Выберите Файл → Открыть… или нажмите Ctrl+O.
  4. В окне выбора файла укажите EPF. Если в фильтре окна стоит конкретный тип, переключите его на «Все файлы».
  5. Если платформа покажет предупреждение безопасности, прочитайте его и подтвердите открытие, только если доверяете файлу.
  6. Откроется основная форма обработки — дальше работайте по её инструкции.

Тот же путь подходит для внешних отчётов ERF.

Если в меню нет пункта «Открыть» или он не срабатывает

Пункт открытия внешних файлов работает только при наличии права на интерактивное открытие внешних обработок. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) это право входит в отдельную роль, а обычным пользователям его чаще всего не дают.

Варианты решения:

  • 👤 попросить администратора включить пользователю право открывать внешние отчёты и обработки (через группу доступа или профиль);
  • 📌 зарегистрировать обработку в базе как дополнительную — тогда пользователю не нужно право на открытие файлов вообще.

Постоянное подключение как дополнительной обработки

Если обработкой будут пользоваться регулярно, удобнее подключить её один раз. В Бухгалтерии 3.0 путь такой:

  1. Администрирование → Печатные формы, отчеты и обработки.
  2. Включите флажок Дополнительные отчеты и обработки, если он выключен.
  3. Перейдите по ссылке «Дополнительные отчеты и обработки» и нажмите Добавить из файла….
  4. Выберите EPF, подтвердите предупреждение безопасности.
  5. В карточке обработки укажите, в каких разделах она будет видна и каким пользователям доступна. Сохраните.

Добавить обработку этим способом получится, только если её разработчик предусмотрел регистрацию: в модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Если её нет, программа сообщит, что обработка не поддерживает подключение, — тогда остаётся открывать файл через Файл → Открыть.

СпособКогда подходитЧто нужно
Файл → Открытьразовый запуск, проверка обработкиправо на открытие внешних обработок
Дополнительные обработкирегулярная работа, печатная форма в документеправа администратора для регистрации, поддержка регистрации в самом файле
Параметр /Executeавтоматический запуск по расписанию или ярлыкупуть к файлу и база, доступная без диалогов

Как открыть EPF в Конфигураторе для просмотра кода

Конфигуратор нужен, если вы хотите понять, что делает обработка, поправить её или выяснить причину ошибки.

  1. Запустите 1С, выберите любую базу и нажмите Конфигуратор. Конфигурацию базы открывать не обязательно.
  2. В меню выберите Файл → Открыть… и укажите EPF.
  3. Слева появится дерево объекта: реквизиты, табличные части, формы, макеты.
  4. Двойной щелчок по корню дерева открывает окно свойств. Кнопка Модуль объекта в нём или пункт контекстного меню открывает код.
  5. Формы открываются двойным щелчком по имени формы, код формы — на вкладке «Модуль» редактора формы.

После правки сохраните файл через Файл → Сохранить (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 «не применяются». Платформа держит открытый вариант в сеансе. Закройте форму обработки и откройте файл заново, а если обработка зарегистрирована как дополнительная — загрузите новую версию в её карточку командой обновления из файла.

Частые вопросы

Можно ли открыть EPF без установленной 1С?
Запустить — нет: нужна платформа 1С:Предприятие 8 и информационная база. Посмотреть содержимое можно сторонними распаковщиками контейнеров 1С, но надёжнее открыть файл в Конфигураторе любой, даже пустой, базы.
Нужна ли отдельная лицензия на внешнюю обработку?
Платформе — нет, обработка использует лицензию текущего сеанса. Коммерческие обработки разработчики иногда защищают своей системой лицензирования, условия смотрите у поставщика.
Почему код в Конфигураторе не виден, а модуль пустой?
Разработчик поставил обработку без исходного кода или зашифровал модуль. Такую обработку можно запускать, но нельзя читать и править.
Подойдёт ли обработка от 1С 8.2 для 8.3?
Платформа 8.3 откроет такой файл. Заработает ли он, зависит от конфигурации: если обработка обращается к объектам, которых в вашей базе нет, будет ошибка.
Где хранится обработка после регистрации в базе?
Внутри самой информационной базы, в справочнике дополнительных обработок. Исходный файл после загрузки можно удалить — в архив копии базы обработка попадёт вместе с данными.