Внешняя обработка .epf: запуск, правка в Конфигураторе и спасение битого файла
Содержание
EPF-файл открывают прямо в рабочей базе: в 1С:Предприятии нажмите Ctrl+O (или главное меню ☰ → Файл → Открыть), выберите файл и подтвердите предупреждение безопасности. Редактируют его в Конфигураторе той же командой Файл → Открыть, а восстанавливают — из копии, из справочника дополнительных обработок или распаковкой контейнера.
Типичная ситуация: программист прислал по почте ЗагрузкаИзExcel.epf, бухгалтер дважды щёлкает по файлу — и видит то окно выбора базы, то ошибку прав. Ниже по порядку: что это за файл, как его открыть, изменить, перенести между версиями 1С и спасти, если он перестал открываться.
Что такое EPF-файл и чем он отличается от ERF и DT
.epf — это внешняя обработка: самостоятельный объект 1С с формами, модулями и макетами, который хранится отдельно от конфигурации. Его можно подключать к базе без обновления конфигурации и без монопольного доступа.
Чаще всего в EPF приходят:
- 📥 загрузки из Excel, банковских выписок, прайсов;
- 🖨️ нестандартные печатные формы (счета, акты, этикетки);
- 🧹 сервисные обработки: групповое изменение реквизитов, поиск дублей, перенумерация;
- 🔄 обработки переноса данных между базами.
Рядом с EPF живут ещё несколько форматов, и их часто путают:
| Расширение | Что внутри | Чем открывают |
|---|---|---|
.epf | внешняя обработка | 1С:Предприятие, Конфигуратор |
.erf | внешний отчёт | 1С:Предприятие, Конфигуратор |
.cf | конфигурация целиком, без данных | Конфигуратор |
.cfe | расширение конфигурации | Конфигуратор, режим 1С:Предприятие |
.dt | выгрузка информационной базы: конфигурация + данные | Конфигуратор |
Внешний отчёт .erf открывается и правится точно так же, как обработка. Всё, что сказано ниже про EPF, относится и к нему.
Как открыть EPF файл в 1С:Предприятии
Есть два способа: разовый запуск и регистрация в базе. Первый подходит для одноразовой сервисной обработки, второй — для печатных форм и загрузок, которыми пользуются каждый день.
Разовый запуск через меню «Файл»
- Запустите нужную базу в режиме 1С:Предприятие.
- Нажмите
Ctrl+Oили откройте☰ → Файл → Открыть. - Выберите файл
.epfна диске. - В окне предупреждения безопасности нажмите «Да», если доверяете источнику.
Обработка откроется в отдельной вкладке. После закрытия базы она нигде не сохраняется — в следующий раз её снова придётся открывать с диска.
Двойной щелчок по файлу в проводнике тоже работает, если при установке платформы создалась ассоциация с файлами 1С: запустится окно выбора базы, и после входа обработка откроется в выбранной базе.
Регистрация в «Дополнительных отчётах и обработках»
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) обработку можно зарегистрировать, и она появится в нужном разделе или в меню «Печать» документа.
| Конфигурация | Где включить и где список |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Печатные формы, отчеты и обработки |
| ЗУП 3.1 | Администрирование → Печатные формы, отчеты и обработки |
| УТ 11, КА 2, ERP | НСИ и администрирование → Печатные формы, отчеты и обработки |
Порядок:
- Установите флажок «Дополнительные отчеты и обработки» и перейдите по одноимённой ссылке.
- Нажмите «Добавить из файла» и выберите EPF.
- Программа прочитает сведения о файле: вид (печатная форма, заполнение, дополнительная обработка), команды и объекты, к которым он привязан.
- На вкладке размещения укажите разделы, в карточке задайте доступ пользователей, сохраните.
Зарегистрировать можно не любой EPF. Обработка должна содержать в модуле объекта экспортную функцию СведенияОВнешнейОбработке(). Если её нет, программа сообщит, что файл не поддерживает регистрацию. Тогда остаётся разовый запуск через Файл → Открыть или доработка файла программистом.
Права пользователя и защита от опасных действий
Пользователю без нужной роли 1С ответит Нарушение прав доступа!. В типовых конфигурациях право на интерактивное открытие внешних отчётов и обработок даёт отдельная роль. Её включают в группе доступа через Администрирование → Настройки пользователей и прав → Группы доступа (в УТ и ERP раздел называется НСИ и администрирование).
Предупреждение «может быть небезопасно» выдаёт сама платформа: это механизм защиты от опасных действий. Его отключают в Конфигураторе в карточке пользователя (Администрирование → Пользователи, флажок «Защита от опасных действий»).
Внешняя обработка выполняет произвольный код с правами пользователя: может удалить документы, переписать реквизиты или отправить данные наружу. Защиту отключайте только тем, кто действительно регулярно запускает проверенные файлы.
Как отредактировать EPF в Конфигураторе
Правка внешней обработки не требует монопольного доступа к базе и не меняет конфигурацию.
- Запустите Конфигуратор любой базы. Удобнее той, для которой написана обработка: тогда работает контекстная подсказка по её справочникам и документам.
- Выполните
Файл → Открытьи выберите.epf. - Откроется дерево внешней обработки: реквизиты, табличные части, формы, макеты, модуль объекта.
- Внесите правки: двойной щелчок по форме открывает редактор формы, по модулю — текст кода.
- Сохраните
Ctrl+S. Для безопасности сначала сделайтеФайл → Сохранить как…под новым именем.
Проверка после правки — в режиме 1С:Предприятие через Файл → Открыть. Если обработка зарегистрирована в справочнике дополнительных обработок, новый файл нужно загрузить заново: в карточке есть команда обновления из файла, иначе база продолжит выполнять старую версию.
Обработка из конфигурации → внешний файл
Обратный путь тоже есть. В дереве конфигурации найдите нужную обработку, щёлкните правой кнопкой и выберите «Сохранить как внешнюю обработку , отчет…». Так снимают копию типовой обработки, чтобы доработать её отдельно, не трогая конфигурацию.
Внешний файл → объект конфигурации
Встроить EPF в конфигурацию «одной кнопкой» нельзя. Создают новую обработку в конфигурации (или в расширении) и переносят в неё реквизиты, формы, макеты и код из открытого EPF — копированием объектов между двумя окнами Конфигуратора. Для типовой конфигурации на поддержке лучше расширение: так обновления не затрут доработку.
Можно ли конвертировать EPF в DT
Нельзя, и это не вопрос инструмента. DT — это выгрузка всей информационной базы с данными, а EPF — один отдельный объект без данных. Из обработки базу не получить, и наоборот.
Когда спрашивают «как конвертировать EPF в DT», обычно имеют в виду одну из трёх задач:
| Задача на самом деле | Решение |
|---|---|
| Передать обработку вместе с базой | Выгрузить DT отдельно (Администрирование → Выгрузить информационную базу в Конфигураторе), EPF приложить рядом |
| Достать обработку из чужой DT | Загрузить DT в новую пустую базу, найти обработку в справочнике дополнительных обработок или в дереве конфигурации и сохранить её в файл |
| Получить исходники для Git или сравнения | Выгрузить EPF в XML-файлы |
Выгрузка EPF в XML и сборка обратно
Начиная с платформы 8.3.8 внешнюю обработку можно разобрать на XML-файлы и собрать обратно. В Конфигураторе это делается из меню «Файл» при открытой обработке (команды выгрузки и загрузки внешней обработки в файлы), а для пакетной работы — из командной строки (см. раздел ниже).
Результат — папка с .xml описаниями, .bsl модулями и формами. Её удобно хранить в Git: видно, какую строку кода поменяли и кто.
Совместимость EPF с версиями 1С и конфигурациями
Здесь две независимые проблемы: формат файла и содержимое обработки.
Формат файла. EPF сохраняется в формате той платформы, в которой его записали. Платформа 8.3 открывает файлы, записанные в 8.2. Обратное не гарантировано: файл, пересохранённый в свежей 8.3, может не открыться в 8.2 или в заметно более ранней 8.3. Правило простое: правьте обработку в платформе с номером не выше того, что стоит у пользователей.
Формы. Обработки под 8.2 часто сделаны на обычных формах. В тонком и веб-клиенте 8.3 такая форма не откроется. Варианты:
- запустить базу в толстом клиенте (в списке баз: «Изменить» → режим запуска «Толстый клиент»);
- добавить в обработку управляемую форму и перенести логику — это работа программиста.
Метаданные конфигурации. Обработка ссылается на справочники, документы и реквизиты по именам. Если в вашей конфигурации их нет или они переименованы, при открытии или выполнении появятся ошибки вида Тип не определен или Поле объекта не обнаружено. Поэтому обработка для БП 3.0 не заработает в УТ 11, а обработка под старый релиз может сломаться после обновления.
1С:Фреш и облака. В сервисах на технологии 1С:Фреш произвольный EPF через Файл → Открыть не запустить. Дополнительные обработки загружаются через механизм сервиса и выполняются в безопасном режиме, с ограничениями на доступ к файлам и внешним ресурсам.
Восстановление повреждённого EPF-файла
EPF — это контейнер, а не текст. Если файл обрезан при скачивании, побит на флешке или «вылечен» антивирусом, 1С выдаст Ошибка формата потока, Файл не является внешней обработкой или похожее сообщение. Редактора, который «чинит» такие файлы, нет — восстанавливают из того, что есть.
Порядок поиска рабочей копии:
- Исходный источник. Повторно скачайте файл или попросите прислать архивом
.zip: почтовые серверы и мессенджеры иногда режут или блокируют вложения.epf. - Справочник дополнительных обработок. Если обработка была зарегистрирована, она хранится в базе. Откройте её карточку и выгрузите в файл командой из меню «Ещё».
- Резервные копии базы. Загрузите DT из бэкапа в отдельную пустую базу и выгрузите обработку оттуда.
- Карантин антивируса и корзина. Антивирусы иногда помечают EPF как подозрительный. Проверьте карантин и, если файл из доверенного источника, восстановите и добавьте в исключения.
- Git или хранилище. Если обработку выгружали в XML, соберите её заново из файлов.
Если копии нет совсем, можно попробовать распаковать повреждённый контейнер свободной утилитой v8unpack. Из частично битого файла иногда удаётся вытащить тексты модулей и пересобрать обработку вручную.
Привычка, которая снимает проблему: держите рабочие обработки в справочнике дополнительных обработок или в Git, а не в папке «Загрузки». Тогда битый файл — это 2 минуты, а не день программиста.
Пакетная работа с EPF: командная строка и утилиты
Когда обработок десятки, их разбирают и собирают скриптом. Конфигуратор умеет это в пакетном режиме (платформа 8.3.8 и новее). Нужна любая база для контекста — подойдёт пустая файловая.
Выгрузка всех EPF из папки в XML:
@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set BASE=C:\1C\EmptyBase
for %%f in (C:\epf\*.epf) do (
%V8% DESIGNER /F "%BASE%" /DisableStartupDialogs ^
/DumpExternalDataProcessorOrReportToFiles "C:\src\%%~nf\%%~nf.xml" "%%f" ^
/Out "C:\src\dump.log" -NoTruncate
)
Сборка обратно в EPF:
%V8% DESIGNER /F "%BASE%" /DisableStartupDialogs ^
/LoadExternalDataProcessorOrReportFromFiles "C:\src\Zagruzka\Zagruzka.xml" "C:\build\Zagruzka.epf" ^
/Out "C:\build\build.log"
Замените 8.3.xx.xxxx на номер установленной платформы. Если в базе есть пользователи, добавьте параметры /N и /P с логином и паролем.
Программное подключение файла в клиент-серверной базе — через временное хранилище. Файл сначала передаётся на сервер, потом подключается:
&НаСервере
Функция ПодключитьНаСервере(АдресФайла)
Возврат ВнешниеОбработки.Подключить(АдресФайла, , Ложь);
КонецФункции
&НаКлиенте
Процедура ПослеПомещения(Результат, Адрес, ИмяФайла, Доп) Экспорт
Если Не Результат Тогда
Возврат;
КонецЕсли;
ИмяОбработки = ПодключитьНаСервере(Адрес);
ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");
КонецПроцедуры
Адрес получают вызовом НачатьПомещениеФайла(...) с оповещением на процедуру ПослеПомещения. Третий параметр Подключить — безопасный режим: Ложь даёт обработке полные права, Истина ограничивает её.
Что ещё используют на практике:
- 🧰 1С:EDT — среда разработки, где внешние обработки хранятся как проекты с исходниками;
- 📦 v8unpack — распаковка и упаковка контейнеров
.epf,.erf,.cfбез запуска 1С; - 🔁 хуки Git, которые при коммите автоматически выгружают EPF в XML, чтобы в истории был читаемый код.