Внешняя обработка .epf: запуск, правка в Конфигураторе и спасение битого файла

· 10 мин

Содержание

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. Запустите нужную базу в режиме 1С:Предприятие.
  2. Нажмите Ctrl+O или откройте ☰ → Файл → Открыть.
  3. Выберите файл .epf на диске.
  4. В окне предупреждения безопасности нажмите «Да», если доверяете источнику.

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

Двойной щелчок по файлу в проводнике тоже работает, если при установке платформы создалась ассоциация с файлами 1С: запустится окно выбора базы, и после входа обработка откроется в выбранной базе.

Регистрация в «Дополнительных отчётах и обработках»

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

КонфигурацияГде включить и где список
Бухгалтерия предприятия 3.0Администрирование → Печатные формы, отчеты и обработки
ЗУП 3.1Администрирование → Печатные формы, отчеты и обработки
УТ 11, КА 2, ERPНСИ и администрирование → Печатные формы, отчеты и обработки

Порядок:

  1. Установите флажок «Дополнительные отчеты и обработки» и перейдите по одноимённой ссылке.
  2. Нажмите «Добавить из файла» и выберите EPF.
  3. Программа прочитает сведения о файле: вид (печатная форма, заполнение, дополнительная обработка), команды и объекты, к которым он привязан.
  4. На вкладке размещения укажите разделы, в карточке задайте доступ пользователей, сохраните.

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

Права пользователя и защита от опасных действий

Пользователю без нужной роли 1С ответит Нарушение прав доступа!. В типовых конфигурациях право на интерактивное открытие внешних отчётов и обработок даёт отдельная роль. Её включают в группе доступа через Администрирование → Настройки пользователей и прав → Группы доступа (в УТ и ERP раздел называется НСИ и администрирование).

Предупреждение «может быть небезопасно» выдаёт сама платформа: это механизм защиты от опасных действий. Его отключают в Конфигураторе в карточке пользователя (Администрирование → Пользователи, флажок «Защита от опасных действий»).

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

Как отредактировать EPF в Конфигураторе

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

  1. Запустите Конфигуратор любой базы. Удобнее той, для которой написана обработка: тогда работает контекстная подсказка по её справочникам и документам.
  2. Выполните Файл → Открыть и выберите .epf.
  3. Откроется дерево внешней обработки: реквизиты, табличные части, формы, макеты, модуль объекта.
  4. Внесите правки: двойной щелчок по форме открывает редактор формы, по модулю — текст кода.
  5. Сохраните 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С выдаст Ошибка формата потока, Файл не является внешней обработкой или похожее сообщение. Редактора, который «чинит» такие файлы, нет — восстанавливают из того, что есть.

Порядок поиска рабочей копии:

  1. Исходный источник. Повторно скачайте файл или попросите прислать архивом .zip: почтовые серверы и мессенджеры иногда режут или блокируют вложения .epf.
  2. Справочник дополнительных обработок. Если обработка была зарегистрирована, она хранится в базе. Откройте её карточку и выгрузите в файл командой из меню «Ещё».
  3. Резервные копии базы. Загрузите DT из бэкапа в отдельную пустую базу и выгрузите обработку оттуда.
  4. Карантин антивируса и корзина. Антивирусы иногда помечают EPF как подозрительный. Проверьте карантин и, если файл из доверенного источника, восстановите и добавьте в исключения.
  5. 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, чтобы в истории был читаемый код.

Ошибки при открытии EPF и что с ними делать

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

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

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