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

· 10 мин

Содержание

EPF (External Processing File) — это расширение файла внешней обработки 1С:Предприятия 8. Открыть её для работы можно прямо в пользовательском режиме через Файл → Открыть, а редактировать — только в Конфигураторе той же платформы 8.3. Блокнот, архиватор или Word содержимое не покажут: формат двоичный.

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

Что такое файл EPF и зачем он нужен в 1С

Внешняя обработка — это кусочек программы, который живёт отдельно от конфигурации. Внутри файла .epf лежат форма, модуль объекта, модуль формы, реквизиты, табличные части и макеты. По сути, это тот же объект «Обработка» из дерева конфигурации, только упакованный в отдельный файл.

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

Что обычно делают внешними обработками:

  • 🖨️ дополнительные печатные формы: счёт со своим логотипом, нестандартный акт, этикетка;
  • 📥 загрузку данных из Excel, CSV или выгрузки банка;
  • 🔧 групповую правку реквизитов, перепроведение, исправление ошибок в данных;
  • 📊 сервисные утилиты: поиск дублей, выгрузку в XML, проверку остатков;
  • 🧩 заполнение табличных частей документов по своим правилам.

Само слово «расширение» здесь путает многих. Речь о расширении имени файла (как .docx у Word), а не о «расширении конфигурации» — это отдельный механизм с файлами .cfe.

Чем EPF отличается от CF, CFE, DT и ERF

В 1С 8.3 несколько форматов, и их часто путают при обмене файлами с программистом или внедренцем. Короткая шпаргалка:

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

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

Файлы .cf и .dt загружаются с полной заменой. Никогда не загружайте DT в рабочую базу, если вам прислали «обработку» в этом формате — вы потеряете свои данные. Обработка — это всегда .epf.

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

Как открыть EPF-файл и запустить обработку

Разовый запуск через меню «Файл»

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

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

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

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

  1. Включите флажок «Дополнительные отчеты и обработки», если он выключен.
  2. Откройте справочник и нажмите «Добавить из файла».
  3. Выберите .epf — программа прочитает, к каким объектам и разделам относится обработка.
  4. Настройте «Размещение» (в каком разделе показывать команду) и «Быстрый доступ» (каким пользователям).
  5. Запишите элемент.

Так подключают дополнительные печатные формы и заполнения: команда сама появится в меню «Печать» документа или в нужном разделе.

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

Открыть для просмотра кода

Чтобы посмотреть, что делает обработка, запустите базу в режиме Конфигуратора и выберите Файл → Открыть. Конфигурацию базы при этом открывать не обязательно. В окне появится дерево обработки: реквизиты, формы, макеты, модули.

Как отредактировать внешнюю обработку в Конфигураторе

Редактирование — тот же Конфигуратор, что и для обычных объектов. Порядок:

  1. Сделайте копию исходного файла рядом, например Загрузка_old.epf.
  2. Откройте .epf через Файл → Открыть в Конфигураторе.
  3. Двойным щелчком откройте нужный объект: форму, модуль объекта или макет печатной формы.
  4. Внесите изменения. Проверьте синтаксис: Ctrl+F7 в модуле.
  5. Сохраните через Файл → Сохранить (Ctrl+S).
  6. В пользовательском режиме откройте файл заново — старая версия из памяти сеанса не подхватит правки.

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

Отладка внешней обработки

Точки останова в EPF работают, если сеанс 1С:Предприятия запущен из Конфигуратора с отладкой (F5). Откройте файл в Конфигураторе, поставьте точку останова (F9), а в запущенном сеансе откройте тот же файл через Файл → Открыть. Путь к файлу должен совпадать.

Выгрузка в XML для Git

Для хранения обработки в системе контроля версий её разбирают на XML-файлы и собирают обратно. В пакетном режиме Конфигуратора это делается командами:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Empty" /DumpExternalDataProcessorOrReportToFiles "D:\src\Zagruzka.xml" "D:\epf\Zagruzka.epf"

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Empty" /LoadExternalDataProcessorOrReportFromFiles "D:\src\Zagruzka.xml" "D:\epf\Zagruzka.epf"

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

Создание EPF с нуля: пошаговая инструкция

Соберём простую обработку, которая показывает количество контрагентов в базе. Пример для конфигураций, где есть справочник «Контрагенты».

Шаг 1. Новый файл

В Конфигураторе выберите Файл → Новый → Внешняя обработка. Откроется окно обработки. Заполните поле «Имя» латиницей или кириллицей без пробелов, например ПодсчетКонтрагентов, и «Синоним» — то, что увидит пользователь.

Шаг 2. Форма

На закладке «Формы» нажмите «Добавить». Конструктор предложит форму обработки — согласитесь, она станет основной. В редакторе формы на закладке «Команды» создайте команду Посчитать и перетащите её на форму — появится кнопка.

Шаг 3. Код

Для команды создайте обработчик на клиенте и вызов на сервере:

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

&НаСервереБезКонтекста
Функция ПосчитатьНаСервере()
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК Количество
	|ИЗ
	|	Справочник.Контрагенты КАК Контрагенты";
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Возврат Выборка.Количество;
	КонецЕсли;
	Возврат 0;
КонецФункции

Шаг 4. Сохранение

Файл → Сохранить как, тип файла — внешняя обработка, расширение .epf подставится само. Откройте файл в пользовательском режиме и нажмите кнопку — внизу окна появится сообщение с числом.

Есть и обратный путь: обработку из дерева конфигурации можно сохранить во внешний файл. Щёлкните правой кнопкой по объекту в ветке «Обработки» и выберите команду сохранения как внешней обработки. Так программисты выносят служебные утилиты из конфигурации для переноса в другую базу.

Программное подключение

Иногда EPF нужно запустить из кода — например, из регламентного задания. Файл помещают во временное хранилище и подключают на сервере:

&НаСервере
Функция ЗапуститьВнешнююОбработку(АдресВХранилище)
	ИмяОбработки = ВнешниеОбработки.Подключить(АдресВХранилище, , Ложь);
	Обработка = ВнешниеОбработки.Создать(ИмяОбработки);
	// дальше вызываем экспортную процедуру из модуля объекта обработки
	Обработка.ВыполнитьЗагрузку();
	Возврат ИмяОбработки;
КонецФункции

Процедура ВыполнитьЗагрузку() здесь — пример: подставьте имя экспортной процедуры из модуля объекта своей обработки. Третий параметр Ложь отключает безопасный режим. Включать его стоит для обработок, которым не нужен доступ к файлам и внешним ресурсам.

Где EPF удобнее других способов доработки

Внешняя обработка — не единственный способ что-то добавить в базу. Сравним с соседними вариантами:

ЗадачаEPFРасширение CFEПравка конфигурации
Разовое исправление данных✅ лучший выборизбыточноне нужно
Своя печатная форма✅ через доп. обработки✅ тоже подходитснимает с поддержки
Новое поле в документе❌ невозможно✅✅
Изменить поведение при проведении❌✅✅
Работа в 1С:Фреш и облакепосле проверки провайдеромпо правилам провайдеранедоступно

Типичные практические сценарии:

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

В облачных сервисах (1С:Фреш, 1С:БухОбслуживание и их аналогах у франчайзи) свою EPF обычно нельзя открыть напрямую. Её отправляют провайдеру на проверку, и после неё обработка появляется в списке дополнительных.

Безопасность внешних обработок и ограничения

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

Права пользователя

Открыть внешний файл может только тот, у кого есть право «Интерактивное открытие внешних обработок» (для отчётов — отдельное право). В типовых конфигурациях на БСП его выдают через профиль групп доступа, роль называется «Интерактивное открытие внешних отчетов и обработок». Без неё на Файл → Открыть 1С ответит сообщением Нарушение прав доступа!.

Защита от опасных действий

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

Правила безопасной работы:

  • 🔒 запускайте EPF только от проверенного разработчика;
  • 👀 перед запуском незнакомой обработки попросите программиста посмотреть модуль;
  • 🧪 исправляющие и групповые обработки сначала проверяйте на копии базы;
  • 💾 перед массовым изменением данных сделайте резервную копию;
  • 🗂️ храните рабочие EPF в одной папке с понятными именами и датой версии.

Технические ограничения

  • Версия платформы. Обработка, сохранённая в более новой версии 8.3, может не открыться на платформе с номером ниже. Обратное обычно работает.
  • Обычные и управляемые формы. Обработка с обычной формой открывается только в толстом клиенте. В тонком и веб-клиенте нужна управляемая форма.
  • Привязка к конфигурации. Код, который обращается к Справочник.Контрагенты, упадёт в базе, где такого справочника нет. EPF от Бухгалтерии не обязательно заработает в УТ.
  • Закрытый код. Модули обработки могут быть защищены паролем автора. Без пароля их не прочитать и не изменить — это законная защита авторских прав, обходить её не нужно.

Когда EPF не открывается: что проверить

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

Частые вопросы о файлах EPF

Можно ли открыть EPF без установленной 1С?
Нет. Посмотреть и запустить внешнюю обработку можно только в платформе 1С:Предприятие 8. Сторонние распаковщики показывают структуру файла, но не исполняют его.
Подойдёт ли EPF от 1С 7.7 или ERT-файл?
Нет. В 7.7 внешние обработки хранились в файлах .ert и писались на другом языке объектов. В 8.3 их нужно переписывать заново.
Нужна ли отдельная лицензия для запуска внешней обработки?
Нет. Обработка работает в рамках обычного сеанса пользователя и занимает ту же клиентскую лицензию.
Можно ли переименовать файл .epf?
Да, имя файла на диске на работу не влияет. Внутреннее имя обработки задаётся в Конфигураторе в поле «Имя».
Чем открыть EPF на Mac или Linux?
Клиентом 1С:Предприятия для этой операционной системы. Обработка с управляемой формой работает так же, как в Windows, если код не обращается к Windows-специфичным объектам вроде COM.