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

· 11 мин

Содержание

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

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

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

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

Внутри файла обычно есть:

  • 🧩 модуль объекта и модули форм — сам код;
  • 🖼️ одна или несколько форм — окно, которое видит пользователь;
  • 📄 макеты — шаблоны печатных форм, таблицы, картинки;
  • 📋 реквизиты и табличные части — поля, с которыми работает обработка.

Зачем бухгалтеру и программисту такие файлы:

  • 🛠️ групповая обработка данных: перезаполнить реквизит у сотни документов, перенумеровать, исправить ставку;
  • 🖨️ нестандартная печатная форма: свой бланк счёта, акт в формате контрагента;
  • 📥 загрузка из Excel или другой программы, которой нет в типовой конфигурации;
  • 🔍 разовые проверки и выгрузки для аудита.

Главный плюс внешней обработки — она не снимает конфигурацию с поддержки. Типовая база продолжает обновляться без ручного сравнения и объединения.

Как открыть EPF в 1С: три штатных способа

Выбор способа зависит от задачи. Разово запустить обработку — хватит меню «Файл». Пользоваться ей каждый день всем отделом — лучше зарегистрировать в базе. Посмотреть код — только Конфигуратор.

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

Способ 1. Через меню «Файл» в пользовательском режиме

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

Обработка откроется в отдельной вкладке. После закрытия базы она нигде не сохранится — при следующем запуске файл снова придётся выбрать.

Можно просто перетащить EPF из проводника в окно 1С или дважды щёлкнуть по файлу, если расширение связано с 1С. Платформа задаст тот же вопрос о безопасности.

Способ 2. Через справочник дополнительных обработок

В конфигурациях на Библиотеке стандартных подсистем (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА 2, ERP) внешние обработки можно хранить прямо в базе.

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

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

Зарегистрировать можно не любой EPF. В модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Если её нет, программа сообщит, что обработка несовместима с подсистемой. Такой файл открывают только способом 1.

Способ 3. В Конфигураторе — посмотреть и поправить код

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

Конфигуратор не запускает обработку, а только показывает её устройство. Проверять результат правок приходится в режиме 1С:Предприятие. Удобно держать оба окна открытыми: поправили, сохранили, снова открыли в пользовательском режиме.

Запуск из командной строки

Обработку можно открыть сразу при старте базы. Для этого служит параметр /Execute:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /Execute "D:\Obrabotki\proverka.epf"

Так делают, когда обработка нужна при каждом запуске или запускается по расписанию через планировщик Windows. Вместо /F для клиент-серверной базы указывают /S"сервер\имя_базы".

Сторонние программы для EPF: что умеют на самом деле

Запустить внешнюю обработку без платформы нельзя. Код на встроенном языке выполняет только 1С. Сторонние инструменты нужны для другого — разобрать файл на части, сравнить версии, положить исходники в Git.

ИнструментЧто делаетКому полезен
Режим выгрузки в файлы платформыРазбирает EPF на XML и модули .bsl и собирает обратноРазработчикам, для хранения в Git
1С:EDTИмпортирует обработку в проект, позволяет править в современной средеРазработчикам на EDT
v8unpack (открытый проект)Распаковывает контейнер EPF/CF на отдельные файлыТем, у кого нет под рукой платформы
Блокнот, 7-Zip, WinRARНичего полезного: формат закрытый, архивом не являетсяНикому

Выгрузку в файлы делает сама платформа в пакетном режиме Конфигуратора:

"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /F"D:\Bases\Test" /DumpExternalDataProcessorOrReportToFiles "D:\src\proverka.xml" "D:\Obrabotki\proverka.epf"

Обратная сборка — параметр /LoadExternalDataProcessorOrReportFromFiles с теми же двумя путями в обратном порядке: сначала XML-исходник, потом итоговый EPF. Номер версии в пути замените на установленный у вас.

Исходники в .bsl открываются любым текстовым редактором. В VS Code есть расширения с подсветкой встроенного языка 1С — удобно быстро прочитать код, не запуская Конфигуратор.

Сайты, которые обещают «открыть EPF онлайн» или «конвертировать в Excel», стоит обходить стороной. В лучшем случае они ничего не сделают, в худшем — попросят скачать установщик неизвестного происхождения.

Почему EPF не открывается: ошибки и что с ними делать

Большинство проблем с внешними обработками укладывается в четыре сценария: не хватает прав, обработка написана под другую конфигурацию, у неё старая обычная форма или её блокирует защита.

Диагностика: выберите симптом

Если обработка открылась, но падает на кнопке «Выполнить», текст ошибки почти всегда указывает строку кода. Откройте модуль в Конфигураторе и найдите это место — так быстрее понять, чего обработке не хватает.

Как проверить обработку перед запуском, чтобы не навредить базе

EPF — это исполняемый код с правами пользователя, который его запустил. Под администратором обработка может удалить документы, переписать справочники, прочитать файлы на диске или отправить данные в интернет. Антивирус такие вещи обычно не распознаёт: для него EPF — просто файл данных.

Чужую обработку из интернета никогда не запускайте сразу в рабочей базе. Сначала проверьте её на копии.

Порядок проверки:

  1. Сделайте копию базы : выгрузку .dt через Конфигуратор или копию каталога файловой базы.
  2. Откройте EPF в Конфигураторе и прочитайте модули объекта и форм.
  3. Найдите поиском (Ctrl+F) опасные конструкции из таблицы ниже.
  4. Запустите обработку в копии под пользователем с обычными правами, а не под администратором.
  5. Сверьте результат и только потом переносите в рабочую базу.
Что искать в кодеЧем опасно
УдалитьФайлы, ПереместитьФайлРабота с файлами на компьютере или сервере
ЗапуститьПриложение, COMОбъектЗапуск внешних программ, доступ к системе
HTTPСоединение, FTPСоединение, ИнтернетПочтовоеСообщениеПередача данных наружу
.Удалить(), .Записать() в циклахМассовое изменение или удаление данных
Длинные строки из непонятных символов и вызов Выполнить(...)Скрытый код, который нельзя прочитать глазами

Наличие этих слов не значит, что обработка вредная. Обработка загрузки из Excel честно читает файл, а обработка отправки отчёта честно ходит в интернет. Вопрос в том, совпадает ли действие кода с тем, что обещал автор.

Если код закрыт паролем или зашифрован и автор не готов показать исходник, решайте, доверяете ли вы автору. Проверить такую обработку изнутри не получится.

Обработки, зарегистрированные в справочнике дополнительных обработок, в типовых конфигурациях по умолчанию работают в безопасном режиме. Платформа ограничивает им доступ к файлам и внешним ресурсам, пока администратор явно не разрешит. Это ещё одна причина регистрировать постоянные обработки, а не раздавать файлы по почте.

Как сделать свою внешнюю обработку за десять минут

Простая обработка собирается в Конфигураторе без изменения конфигурации базы. Для примера — кнопка, которая считает контрагентов.

  1. В Конфигураторе выберите Файл → Новый → Внешняя обработка.
  2. Задайте имя на латинице или кириллице без пробелов, например ПодсчетКонтрагентов.
  3. В дереве обработки щёлкните правой кнопкой по ветке «Формы» и добавьте форму.
  4. В редакторе формы на вкладке «Команды» создайте команду Посчитать и перетащите её на форму — появится кнопка.
  5. Откройте модуль формы и вставьте код ниже.
  6. Сохраните файл через Файл → Сохранить как с расширением .epf.
&НаСервереБезКонтекста
Функция КоличествоКонтрагентов()
    Запрос = Новый Запрос(
        "ВЫБРАТЬ
        |   КОЛИЧЕСТВО(*) КАК Количество
        |ИЗ
        |   Справочник.Контрагенты КАК Контрагенты");
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Выборка.Количество;
    КонецЕсли;
    Возврат 0;
КонецФункции

&НаКлиенте
Процедура Посчитать(Команда)
    Сообщить("Контрагентов в базе: " + Формат(КоличествоКонтрагентов(), "ЧН=0; ЧГ=0"));
КонецПроцедуры

Запрос выполняется на сервере, а сообщение выводится на клиенте — так устроены управляемые формы. Сообщение с числом появится внизу окна после нажатия кнопки. Справочник «Контрагенты» есть в Бухгалтерии 3.0, УТ 11 и ERP; в другой конфигурации подставьте свой.

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

Пишите обработку на управляемых формах, даже если база старая. Обычная форма не откроется в тонком клиенте и веб-клиенте, и пользователям придётся переключать режим запуска.

EPF, ERF, CF и другие файлы 1С: в чём разница

С EPF легко перепутать соседние форматы. Открываются они разными путями, и ошибка в выборе файла — частая причина вопроса «почему не открывается».

РасширениеЧто этоКак открыть
.epfВнешняя обработкаФайл → Открыть в 1С:Предприятии или в Конфигураторе
.erfВнешний отчётТак же, как EPF; регистрируется в том же справочнике
.cfФайл конфигурации целикомКонфигуратор: загрузка или сравнение конфигурации
.cfuФайл обновления конфигурацииКонфигуратор, обновление конфигурации
.cfeРасширение конфигурацииКонфигуратор или Администрирование → Печатные формы, отчеты и обработки → Расширения
.dtВыгрузка информационной базыКонфигуратор: Администрирование → Загрузить информационную базу
.1cdФайл самой файловой базыДобавить базу в список запуска, указав каталог с файлом

Разница между EPF и ERF только в назначении. Отчёт строится на системе компоновки данных и выводит таблицу с настройками отбора. Обработка делает что угодно: меняет данные, загружает файлы, печатает. Технически оба файла открываются одинаково.

Расширение CFE похоже на внешнюю обработку тем, что не снимает конфигурацию с поддержки. Но оно встраивается в базу и может менять поведение типовых документов. Внешняя обработка так не умеет: она работает рядом с конфигурацией.

Загрузка .dt полностью заменяет данные текущей базы, а загрузка .cf — её конфигурацию. Перед этими операциями обязательна резервная копия. С EPF такой опасности нет: открытие обработки само по себе базу не меняет.

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

Можно ли открыть EPF в 1С:Фреш или другой облачной базе?
Зависит от сервиса. В облачных сервисах открытие произвольных файлов обычно запрещено. Обработку загружают через справочник дополнительных обработок, а сервис проверяет её перед допуском.
Откроется ли EPF, сделанный для Бухгалтерии, в ЗУП?
Откроется, но может упасть с ошибкой, если обращается к объектам, которых в ЗУП нет. Обработка привязана к составу конкретной конфигурации.
Нужна ли отдельная лицензия, чтобы запускать внешние обработки?
Нет. Обработка работает в рамках обычной клиентской лицензии того пользователя, который её открыл.
Как узнать, под какую версию платформы сделан EPF?
Откройте файл в Конфигураторе своей версии. Если файл сохранён в новой версии платформы и не читается старой, обновите платформу на компьютере.
Можно ли открыть EPF на Mac или Linux?
Да, если на компьютере установлен клиент 1С:Предприятия для этой системы и есть доступ к базе. Сам файл от операционной системы не зависит.