Внешняя обработка .epf: от первого запуска до правки кода в Конфигураторе
Содержание
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С:Предприятие».
- Откройте главное меню — кнопка с тремя полосками или значок в левом верхнем углу окна.
- Выберите
Файл → Открыть(горячая клавишаCtrl+O). - Укажите файл
.epfна диске. - Если появится предупреждение безопасности, нажмите «Да» только для файла из надёжного источника.
Обработка откроется в новом окне. После закрытия программы она нигде не сохранится — в следующий раз её снова придётся выбирать с диска.
Постоянное подключение в справочник
В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) есть справочник «Дополнительные отчёты и обработки». Путь в Бухгалтерии 3.0: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.
- Включите флажок «Дополнительные отчеты и обработки», если он выключен.
- Откройте справочник и нажмите «Добавить из файла».
- Выберите
.epf— программа прочитает, к каким объектам и разделам относится обработка. - Настройте «Размещение» (в каком разделе показывать команду) и «Быстрый доступ» (каким пользователям).
- Запишите элемент.
Так подключают дополнительные печатные формы и заполнения: команда сама появится в меню «Печать» документа или в нужном разделе.
Если при добавлении 1С сообщает, что файл не является дополнительной обработкой, значит в модуле объекта нет экспортной функции СведенияОВнешнейОбработке(). Такую обработку можно запускать только через Файл → Открыть, либо программист должен её доработать под БСП.
Открыть для просмотра кода
Чтобы посмотреть, что делает обработка, запустите базу в режиме Конфигуратора и выберите Файл → Открыть. Конфигурацию базы при этом открывать не обязательно. В окне появится дерево обработки: реквизиты, формы, макеты, модули.
Как отредактировать внешнюю обработку в Конфигураторе
Редактирование — тот же Конфигуратор, что и для обычных объектов. Порядок:
- Сделайте копию исходного файла рядом, например
Загрузка_old.epf. - Откройте
.epfчерезФайл → Открытьв Конфигураторе. - Двойным щелчком откройте нужный объект: форму, модуль объекта или макет печатной формы.
- Внесите изменения. Проверьте синтаксис:
Ctrl+F7в модуле. - Сохраните через
Файл → Сохранить(Ctrl+S). - В пользовательском режиме откройте файл заново — старая версия из памяти сеанса не подхватит правки.
Если обработка уже лежит в справочнике дополнительных обработок, после правки её нужно загрузить туда повторно. Откройте элемент справочника и выберите загрузку обработки из файла — версия в базе заменится. Сам файл на диске справочник не отслеживает.
Отладка внешней обработки
Точки останова в 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С?
Подойдёт ли EPF от 1С 7.7 или ERT-файл?
.ert и писались на другом языке объектов. В 8.3 их нужно переписывать заново.