Открытие, подключение и запуск внешних обработок .epf из меню и кода
Содержание
Чтобы воспользоваться внешней обработкой в 1С 8.3, её файл с расширением .epf открывают через Файл → Открыть либо подключают один раз как дополнительную обработку — тогда она появляется в интерфейсе как обычная команда. Оба способа работают в режиме «1С:Предприятие», заходить в Конфигуратор не нужно.
Разница между ними в том, кто и как часто будет пользоваться файлом. Разовую выгрузку или сервисную обработку от программиста проще открыть напрямую. Инструмент, которым пользуются каждый день несколько человек, логичнее встроить в базу, чтобы не раздавать .epf по почте и не искать его на диске.
Ниже — оба способа по шагам, запуск из кода для разработчика, настройка прав и безопасного режима, а также разбор ошибок, из-за которых обработка не открывается.
Что такое внешняя обработка и когда она нужна
Внешняя обработка — это отдельный файл .epf, который содержит форму, код и макеты, но не входит в состав конфигурации. Платформа исполняет его «на лету», не внося изменений в саму базу. Внешний отчёт устроен так же, но имеет расширение .erf и предназначен для вывода данных.
Встроенная обработка, наоборот, хранится в дереве конфигурации. Чтобы её изменить, нужно снять базу с поддержки или использовать расширение, а потом обновить конфигурацию базы данных. Внешнюю достаточно положить в любую папку и открыть.
Отсюда и область применения:
- 🔧 разовые операции: массовая корректировка реквизитов, перепроведение документов , загрузка данных из файла;
- 📊 сервисные инструменты от сопровождающего программиста, которые не хочется «зашивать» в типовую конфигурацию ;
- 🧪 проверка решения перед тем, как встроить его в конфигурацию насовсем;
- 🖨️ дополнительные печатные формы и отчёты, подключаемые к документам.
Если обработка меняет данные в рабочей базе — сначала сделайте резервную копию. Внешний код выполняет те же операции, что и штатные документы, и так же способен испортить учёт при ошибке.
Как открыть внешнюю обработку через меню
Самый быстрый способ — открыть файл напрямую.
- Запустите базу в режиме «1С:Предприятие».
- В главном меню (кнопка со стрелкой в левом верхнем углу интерфейса «Такси») выберите
Файл → Открыть. - В диалоге укажите путь к файлу
.epfи нажмите «Открыть». - Откроется форма обработки — дальше работайте по её кнопкам.
Этот путь удобен, когда файл нужен один раз или от случая к случаю. Минус — обработку приходится каждый раз искать на диске, а сам .epf легко потерять или перепутать версию.
Через Файл → Открыть открываются и обработки, и отчёты: платформа сама определит тип файла по расширению. В веб-клиенте выбор файла идёт через стандартный диалог загрузки, и работать это будет только при включённом расширении для работы с файлами.
Файл → Открыть. Встраивать в базу смысла нет.Подключение как дополнительной обработки
В типовых конфигурациях на «Библиотеке стандартных подсистем» (БП 3.0, ЗУП 3.1, УТ 11 и других) есть механизм дополнительных отчётов и обработок. Он хранит .epf прямо внутри базы и показывает его команды в интерфейсе.
Сначала включите сам механизм:
- Откройте
Администрирование → Печатные формы, отчёты и обработки. - Поставьте флажок
Дополнительные отчёты и обработки. - Перейдите по ссылке
Дополнительные отчёты и обработки, которая станет активной.
Теперь добавьте файл:
- Нажмите
Добавить из файлаи выберите нужный.epf. - Платформа предупредит, что обработка из непроверенного источника может быть небезопасна. Подтверждайте, только если доверяете автору файла.
- В карточке укажите, в каких разделах и у каких документов будет доступна команда (поле
Размещение). - Запишите и закройте карточку.
После этого команда обработки появится там, где вы её разместили: в списке дополнительных обработок раздела или в меню конкретного документа. Файл при обновлении не потеряется — он лежит в базе, а не на диске у пользователя.
Добавлять дополнительные обработки имеет право только пользователь с полными или административными правами. Рядовому бухгалтеру эта настройка недоступна, и это правильно: так в базу не попадёт чужой код.
Права доступа: кому разрешено открывать обработки
Открыть внешнюю обработку
через Файл → Открыть может не каждый. За это отвечает отдельное право роли — «Интерактивное открытие внешних отчётов» и «Интерактивное открытие внешних обработок». Если его нет, при попытке открыть файл пользователь получит сообщение о нарушении прав доступа.
Выдаётся право через роли:
- в Конфигураторе — в свойствах роли, на закладке прав отмечаются соответствующие флажки;
- в типовых конфигурациях рядового пользователя к внешним обработкам обычно не допускают намеренно, оставляя эту возможность администраторам и программистам.
Логика ограничения простая: внешний файл несёт произвольный код. Пользователь с правом открывать обработки фактически может выполнить в базе любое действие в пределах своих прав. Поэтому право держат у узкого круга.
Не выдавайте право на открытие внешних обработок всем подряд «чтобы не мешало». Через такой файл можно обойти ограничения интерфейса и изменить данные напрямую, минуя документы.
Безопасный режим и профили безопасности сервера
Платформа 8.3 умеет запускать внешний код в безопасном режиме. В нём обработке запрещены потенциально опасные действия: обращение к файловой системе, запуск внешних программ, работа с COM-объектами, привилегированный режим.
В клиент-серверном варианте за это отвечают профили безопасности кластера. Профиль описывает, что разрешено внешнему коду: к каким каталогам он может обращаться, какие COM-классы и внешние компоненты использовать. Без разрешающего профиля сервер не выполнит действия, которые безопасный режим блокирует, и вернёт ошибку вида «нарушение прав доступа в безопасном режиме».
Как это устроено на практике:
- для дополнительных обработок флаг безопасного режима задаётся в их карточке — по умолчанию он включён;
- чтобы обработка, которой нужен доступ к диску или внешней программе, заработала, администратор создаёт профиль безопасности и связывает его с этой обработкой;
- профили настраиваются в консоли администрирования серверов 1С или в самой базе через механизм БСП.
Снимать безопасный режим «на всякий случай» не нужно. Сначала выясните, какое именно действие блокируется, и разрешите в профиле только его.
Как вызвать внешнюю обработку из кода
Разработчику обработку часто нужно не открыть руками, а выполнить программно — например, из регламентного задания или другой обработки.
Для этого в глобальном контексте есть объект ВнешниеОбработки. Загрузить файл и получить объект обработки можно так:
Обработка = ВнешниеОбработки.Создать("C:\Обработки\ЗагрузкаЦен.epf");
Обработка.ВыполнитьЗагрузку();
Здесь ВыполнитьЗагрузку — это экспортная процедура, объявленная в модуле самой обработки. Через полученный объект доступны все её экспортные методы и реквизиты.
Если нужна именно форма обработки, её возвращает метод ПолучитьФорму:
Форма = ВнешниеОбработки.ПолучитьФорму("C:\Обработки\ЗагрузкаЦен.epf");
Форма.Открыть();
Несколько правил, чтобы код не падал:
- путь к файлу на сервере и на клиенте — разные вещи; при серверном вызове файл должен лежать там, где его видит сервер 1С;
- для работы в безопасном режиме используйте
УстановитьБезопасныйРежим(Истина)перед обращением к внешнему коду, если политика это требует; - точные сигнатуры методов смотрите в синтакс-помощнике Конфигуратора по ветке
Внешние обработки— там указаны все параметры для вашей версии платформы.
Для дополнительных обработок, подключённых через БСП, есть свои программные интерфейсы вызова по идентификатору команды — их описание лежит в документации к библиотеке.
Обработку можно запустить и при старте базы, не открывая её руками. Для этого платформу вызывают с параметром /Execute и путём к файлу:
1cv8 ENTERPRISE /F"C:\Базы\Бухгалтерия" /Execute"C:\Обработки\Сервис.epf"
Так удобно включать сервисную обработку в ярлык или bat-файл для планировщика. Обработка при этом выполнит свой код запуска и, если так задумано автором, закроется сама.
Типичные ошибки при работе с обработками
Чаще всего обработка не открывается не из-за «битого файла», а из-за прав или версии платформы. Разберём по симптомам.
Отдельная причина, которую легко пропустить: обработка написана под другую конфигурацию. Файл, рассчитанный на реквизиты УТ, в «Бухгалтерии» либо выдаст ошибку обращения к несуществующему объекту, либо отработает не так, как ждёте.
Где хранить обработки и как вести версии
Главная слабость внешних обработок — они легко расползаются по дискам и почте. Через полгода у пяти человек оказывается три разные версии одного файла, и никто не знает, какая правильная.
Что с этим делать:
- 📁 Единое хранилище. Держите актуальные
.epfв одной сетевой папке или в самой базе (через механизм дополнительных обработок). У пользователей на руках — только ярлык или команда, а не копия файла. - 🏷️ Версия в имени. Пока обработка не в базе, помогает дата или номер версии прямо в имени файла:
ЗагрузкаЦен_v3_2026-10.epf. Это грубо, но лучше, чем десяток одинаковых имён. - 🗂️ Контроль версий для исходников. Сам
.epf— бинарный файл, в Git он ложится как есть и по нему не видно, что именно изменилось. Для нормальной истории правок обработку ведут в 1С:EDT или выгружают её модули и формы в текстовые файлы — тогда каждое изменение видно построчно.
Подключённые через БСП дополнительные обработки хранятся внутри базы, и при их замене старый вариант остаётся в истории изменений объекта — это дополнительная страховка от «а что там было в прошлой версии».
Частые вопросы
Чем внешняя обработка отличается от внешнего отчёта?
.epf) выполняет действия и может менять данные, отчёт (.erf) только выводит информацию и данные не правит. Открываются оба одинаково.