Файл .epf: как запустить внешнюю обработку и заглянуть в её код
Содержание
Файл EPF открывают только программой 1С:Предприятие 8: запустите нужную базу, откройте главное меню (кнопка с тремя полосками в левом верхнем углу), выберите Файл → Открыть или нажмите Ctrl+O и укажите файл. Обработка откроется в той базе, с которой вы работаете. Чтобы посмотреть или поправить её код, тот же файл открывают в Конфигураторе.
Сторонних программ, которые запускают внешнюю обработку вместо 1С, не существует. EPF — это контейнер 1С с формами, модулями и макетами внутри. Блокнот покажет мешанину символов, архиватор файл не распакует. Ниже — все рабочие способы открыть EPF, типичные ошибки и то, как не запустить в базу чужой вредный код.
Что лежит внутри EPF-файла и зачем он нужен
EPF расшифровывается как External Processing File — файл внешней обработки. Это маленькая программа на встроенном языке 1С, которая живёт отдельно от конфигурации. Её не нужно встраивать в базу и обновлять вместе с ней.
Внутри файла обычно есть:
- 🧩 модуль объекта и модули форм — сам код;
- 🖼️ одна или несколько форм — окно, которое видит пользователь;
- 📄 макеты — шаблоны печатных форм, таблицы, картинки;
- 📋 реквизиты и табличные части — поля, с которыми работает обработка.
Зачем бухгалтеру и программисту такие файлы:
- 🛠️ групповая обработка данных: перезаполнить реквизит у сотни документов, перенумеровать, исправить ставку;
- 🖨️ нестандартная печатная форма: свой бланк счёта, акт в формате контрагента;
- 📥 загрузка из Excel или другой программы, которой нет в типовой конфигурации;
- 🔍 разовые проверки и выгрузки для аудита.
Главный плюс внешней обработки — она не снимает конфигурацию с поддержки. Типовая база продолжает обновляться без ручного сравнения и объединения.
Как открыть EPF в 1С: три штатных способа
Выбор способа зависит от задачи. Разово запустить обработку — хватит меню «Файл». Пользоваться ей каждый день всем отделом — лучше зарегистрировать в базе. Посмотреть код — только Конфигуратор.
| Способ | Когда подходит | Что нужно |
|---|---|---|
Файл → Открыть в режиме 1С:Предприятие | Разовый запуск, проверка обработки | Право на интерактивное открытие внешних обработок |
| Справочник «Дополнительные отчеты и обработки» | Постоянная работа нескольких пользователей | Права администратора, поддержка регистрации в самой обработке |
| Конфигуратор | Просмотр и правка кода, форм, макетов | Доступ в Конфигуратор любой базы |
Способ 1. Через меню «Файл» в пользовательском режиме
- Запустите базу в режиме 1С:Предприятие под пользователем с нужными правами.
- Нажмите кнопку главного меню в левом верхнем углу окна.
- Выберите
Файл → Открыть(илиCtrl+O). - Укажите файл
.epfна диске и нажмите «Открыть». - Если появится предупреждение безопасности, прочитайте его. Подтверждайте только для файла из надёжного источника.
Обработка откроется в отдельной вкладке. После закрытия базы она нигде не сохранится — при следующем запуске файл снова придётся выбрать.
Можно просто перетащить EPF из проводника в окно 1С или дважды щёлкнуть по файлу, если расширение связано с 1С. Платформа задаст тот же вопрос о безопасности.
Способ 2. Через справочник дополнительных обработок
В конфигурациях на Библиотеке стандартных подсистем (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА 2, ERP) внешние обработки можно хранить прямо в базе.
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Включите флажок «Дополнительные отчеты и обработки», если он выключен.
- Перейдите по одноимённой ссылке и нажмите «Создать».
- Выберите файл EPF. Программа прочитает его описание: вид, версию, команды.
- На вкладке размещения укажите разделы, в которых появится обработка, и пользователей, которым она доступна.
- Нажмите «Записать и закрыть».
После этого обработка появится в выбранном разделе в списке дополнительных обработок или как кнопка печати в документах. Пользователям больше не нужен файл на диске.
Зарегистрировать можно не любой EPF. В модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Если её нет, программа сообщит, что обработка несовместима с подсистемой. Такой файл открывают только способом 1.
Способ 3. В Конфигураторе — посмотреть и поправить код
- Запустите Конфигуратор любой базы. Подойдёт даже пустая учебная.
- Выберите
Файл → Открытьи укажите EPF. - Откроется дерево обработки: реквизиты, формы, макеты.
- Чтобы увидеть код, щёлкните правой кнопкой по корню дерева и откройте модуль объекта, либо откройте форму и перейдите на вкладку «Модуль».
- После правок сохраните файл через
Файл → Сохранитьили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 не открывается: ошибки и что с ними делать
Большинство проблем с внешними обработками укладывается в четыре сценария: не хватает прав, обработка написана под другую конфигурацию, у неё старая обычная форма или её блокирует защита.
Администрирование → Настройки пользователей и прав → Группы доступа: нужна группа, профиль которой разрешает открытие внешних отчётов и обработок. Либо откройте файл под администратором./RunModeOrdinaryApplication в строке запуска. Если не помогает — нужна версия с управляемой формой.СведенияОВнешнейОбработке() или она написана под другую версию БСП. Открывайте через Файл → Открыть либо попросите автора доработать регистрацию..epf связано с другой программой или не связано ни с чем. Откройте файл из меню 1С или назначьте ему в Windows программу 1cv8.exe из папки установленной платформы.Если обработка открылась, но падает на кнопке «Выполнить», текст ошибки почти всегда указывает строку кода. Откройте модуль в Конфигураторе и найдите это место — так быстрее понять, чего обработке не хватает.
Как проверить обработку перед запуском, чтобы не навредить базе
EPF — это исполняемый код с правами пользователя, который его запустил. Под администратором обработка может удалить документы, переписать справочники, прочитать файлы на диске или отправить данные в интернет. Антивирус такие вещи обычно не распознаёт: для него EPF — просто файл данных.
Чужую обработку из интернета никогда не запускайте сразу в рабочей базе. Сначала проверьте её на копии.
Порядок проверки:
- Сделайте копию базы
: выгрузку
.dtчерез Конфигуратор или копию каталога файловой базы. - Откройте EPF в Конфигураторе и прочитайте модули объекта и форм.
- Найдите поиском (
Ctrl+F) опасные конструкции из таблицы ниже. - Запустите обработку в копии под пользователем с обычными правами, а не под администратором.
- Сверьте результат и только потом переносите в рабочую базу.
| Что искать в коде | Чем опасно |
|---|---|
УдалитьФайлы, ПереместитьФайл | Работа с файлами на компьютере или сервере |
ЗапуститьПриложение, COMОбъект | Запуск внешних программ, доступ к системе |
HTTPСоединение, FTPСоединение, ИнтернетПочтовоеСообщение | Передача данных наружу |
.Удалить(), .Записать() в циклах | Массовое изменение или удаление данных |
Длинные строки из непонятных символов и вызов Выполнить(...) | Скрытый код, который нельзя прочитать глазами |
Наличие этих слов не значит, что обработка вредная. Обработка загрузки из Excel честно читает файл, а обработка отправки отчёта честно ходит в интернет. Вопрос в том, совпадает ли действие кода с тем, что обещал автор.
Если код закрыт паролем или зашифрован и автор не готов показать исходник, решайте, доверяете ли вы автору. Проверить такую обработку изнутри не получится.
Обработки, зарегистрированные в справочнике дополнительных обработок, в типовых конфигурациях по умолчанию работают в безопасном режиме. Платформа ограничивает им доступ к файлам и внешним ресурсам, пока администратор явно не разрешит. Это ещё одна причина регистрировать постоянные обработки, а не раздавать файлы по почте.
Как сделать свою внешнюю обработку за десять минут
Простая обработка собирается в Конфигураторе без изменения конфигурации базы. Для примера — кнопка, которая считает контрагентов.
- В Конфигураторе выберите
Файл → Новый → Внешняя обработка. - Задайте имя на латинице или кириллице без пробелов, например
ПодсчетКонтрагентов. - В дереве обработки щёлкните правой кнопкой по ветке «Формы» и добавьте форму.
- В редакторе формы на вкладке «Команды» создайте команду
Посчитатьи перетащите её на форму — появится кнопка. - Откройте модуль формы и вставьте код ниже.
- Сохраните файл через
Файл → Сохранить какс расширением.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 такой опасности нет: открытие обработки само по себе базу не меняет.