Подключение внешней обработки (.epf) в 1С 8.3: три рабочих способа

· 9 мин

Содержание

Разовую обработку в 1С 8.3 открывают через Главное меню (≡) → Файл → Открыть и выбирают файл .epf. Чтобы обработка осталась в базе и была доступна всем пользователям, её добавляют в разделе Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки. Третий путь — программный, через объект ВнешниеОбработки.

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

Ниже — все три способа с точными путями меню, требования к файлу, настройка прав и типичные ошибки при подключении внешней обработки.

Внешняя обработка .epf: что это и когда её подключают

Внешняя обработка — это файл .epf, который содержит форму и программный модуль, но не входит в конфигурацию базы. Она выполняет разовую или вспомогательную задачу: массово меняет реквизиты, загружает данные из Excel, печатает нестандартный бланк, чистит дубли справочника.

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

Главное преимущество внешней обработки — её не нужно встраивать в конфигурацию и снимать базу с поддержки. Файл работает поверх типовой конфигурации, а при обновлении релиза его не затирает.

Выбор способа подключения простой:

  • 🔹 Нужна один раз — откройте файл через меню, обработка не сохранится в базе.
  • 🔹 Нужна постоянно и нескольким людям — добавьте в «Дополнительные отчёты и обработки», тогда она хранится внутри базы.
  • 🔹 Запуск по расписанию или из другого кода — подключайте программно.

Что проверить в файле перед подключением

Перед тем как открывать .epf, стоит убедиться, что файл вообще запустится в вашей базе. Чаще всего обработка не подключается не из-за 1С, а из-за несовпадения версий или назначения файла.

Проверка файла перед подключением
Выполнено: 0 / 5

Файл .epf от платформы 8.2 обычно открывается и в 8.3, а вот сделанный в более новой платформе — нет. Собрать обработку можно только под платформу не новее той, на которой работает ваша база. Номер релиза платформы виден в окне О программе (пункт в главном меню).

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

Разовое открытие через меню «Файл»

Самый быстрый способ, когда обработка нужна один раз.

  1. Нажмите кнопку главного меню ≡ в левом верхнем углу.
  2. Выберите Файл → Открыть.
  3. Укажите путь к файлу .epf и нажмите Открыть.

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

Чтобы пункт Файл → Открыть сработал, у пользователя должно быть право Интерактивное открытие внешних обработок. Без него 1С выдаст сообщение о нарушении прав доступа. Право включают через роль в профиле пользователя — обычно это делает администратор.

Этот способ удобен для разработчика и администратора, но не подходит для рядовых пользователей: раздавать всем право на открытие любых внешних файлов небезопасно. Для постоянной работы используйте дополнительные обработки.

Постоянное подключение через дополнительные отчёты и обработки

Если обработкой будут пользоваться регулярно и несколько человек, её добавляют в базу через подсистему дополнительных обработок. Тогда файл хранится внутри информационной базы, доступен из веб-клиента и переживает обновления конфигурации.

Сначала механизм нужно включить. Путь к настройке зависит от конфигурации:

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

Порядок действий:

  1. В этом разделе включите флажок Дополнительные отчёты и обработки.
  2. Перейдите по ссылке Дополнительные отчёты и обработки в том же разделе.
  3. Нажмите Добавить из файла и выберите .epf.
  4. 1С покажет предупреждение о безопасности — подтвердите, если доверяете источнику.
  5. Откроется карточка обработки. Проверьте в ней вид обработки и размещение.

В карточке важны два поля. Вид определяет, как обработка подключится: заполнение объекта, печатная форма, создание связанных объектов, дополнительный отчёт или произвольная команда. Размещение — в каких справочниках и документах появится её команда. Эти значения обработка подсказывает сама из своей функции сведений; администратору остаётся их подтвердить.

После сохранения команда обработки появляется в тех документах и списках, которые указаны в размещении, — в меню Ещё или на панели команд формы. Если команды не видно, проверьте: иногда размещение в карточке пустое и обработку надо вручную отметить для нужного справочника или документа.

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

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

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

Когда обработку надо запускать из другого кода — например, по регламентному заданию или из своей кнопки, — её создают программно через объект ВнешниеОбработки.

Метод Создать принимает путь к файлу и флаг безопасного режима и возвращает объект обработки. Дальше вызываются её экспортные процедуры:

&НаСервере
Процедура ЗапуститьОбработкуНаСервере(ДвоичныеДанные)
    // сохраняем присланные данные во временный файл
    ИмяФайла = ПолучитьИмяВременногоФайла("epf");
    ДвоичныеДанные.Записать(ИмяФайла);

    // создаём объект обработки (Истина — безопасный режим)
    Обработка = ВнешниеОбработки.Создать(ИмяФайла, Истина);

    // вызываем экспортную процедуру модуля обработки
    Обработка.ВыполнитьЗагрузку();

    // убираем за собой
    УдалитьФайлы(ИмяФайла);
КонецПроцедуры

Второй параметр Создать — безопасный режим. При значении Истина код обработки выполняется с ограничениями: без прямого доступа к файловой системе, COM и привилегированному режиму. Если обработке эти возможности нужны по делу, режим снимают осознанно, передав Ложь, — но только для проверенного кода.

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

Имена экспортных процедур (здесь — ВыполнитьЗагрузку) зависят от конкретной обработки: их задаёт автор файла. Если имён не знаете, открывать и разбирать модуль придётся в Конфигураторе.

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

Права доступа: кому разрешить запуск

Внешняя обработка выполняет произвольный код, поэтому доступ к ней контролируют на двух уровнях.

Право на открытие файлов. За разовое открытие через Файл → Открыть отвечает право Интерактивное открытие внешних обработок (для отчётов — отдельное право Интерактивное открытие внешних отчётов). Оно входит в роль и назначается через профиль групп доступа. Рядовым пользователям это право обычно не дают.

Доступ к дополнительным обработкам. Добавлять и менять записи в списке дополнительных обработок может только пользователь с правами администратора. А вот запускать уже подключённую обработку разрешают точечно: в её карточке указывают, каким пользователям или группам доступна команда. Так бухгалтер видит нужную ему печатную форму, но не может подключить чужой файл.

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

Безопасность: чем опасны чужие обработки и как подстраховаться

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

Несколько правил, которые снижают риск:

  • 🔒 Подключайте обработки только из доверенного источника — от своего подрядчика или проверенного автора, а не из случайной рассылки или форума.
  • 🔒 Оставляйте включённым безопасный режим везде, где обработке не нужны особые полномочия.
  • 🔒 Не раздавайте право интерактивного открытия внешних файлов рядовым пользователям.
  • 🔒 Сомнительный файл сначала откройте в Конфигураторе и просмотрите модуль — встроенный язык 1С читаемый, подозрительные обращения к файлам и интернету видно сразу.
  • 🔒 Проверяйте незнакомые обработки в копии базы, а не в рабочей.

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

Почему обработка не подключается: разбор ошибок

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

Отдельная частая ситуация — обработка от другой конфигурации. Файл, написанный под Бухгалтерию, откроется в ЗУП, но упадёт с ошибкой, как только обратится к объекту, которого в ЗУП нет. Такую обработку нужно переписывать под целевую конфигурацию, подключение тут не поможет.

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

Чем внешняя обработка отличается от внешнего отчёта?
Обработка (.epf) может изменять и записывать данные: заполнять документы, править справочники, загружать файлы. Отчёт (.erf) только читает данные и показывает результат. Подключаются оба одинаково.
Сохранится ли подключённая обработка после обновления конфигурации?
Да, если она добавлена в «Дополнительные отчёты и обработки» — она хранится в самой базе и обновление релиза её не затрагивает. Обработка, открытая разово через меню «Файл», нигде не сохраняется.
Нужен ли Конфигуратор, чтобы подключить обработку?
Нет. И разовое открытие, и добавление в дополнительные обработки делаются в режиме 1С:Предприятие. Конфигуратор понадобится, только если обработку нужно дорабатывать или разобрать её модуль.
Можно ли запускать внешние обработки в веб-клиенте?
Да, если обработка добавлена в дополнительные — она работает и в веб-клиенте, и в тонком клиенте. А вот открыть произвольный файл .epf с диска через меню Файл → Открыть в веб-клиенте нельзя: там нет прямого доступа к файловой системе.
Почему обработка от другой конфигурации не открывается или не работает?
Она обращается к объектам, которых в вашей конфигурации нет: документам, справочникам, реквизитам. Платформа создаст объект обработки, но при выполнении кода выдаст ошибку. Решение одно — адаптировать обработку под вашу конфигурацию.