Подключение внешней обработки (.epf) в 1С 8.3: три рабочих способа
Содержание
Разовую обработку в 1С 8.3 открывают через Главное меню (≡) → Файл → Открыть и выбирают файл .epf. Чтобы обработка осталась в базе и была доступна всем пользователям, её добавляют в разделе Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки. Третий путь — программный, через объект ВнешниеОбработки.
Внешняя обработка приходит отдельным файлом: подрядчик прислал загрузчик выписки, коллега — свою печатную форму, в рассылке попался отчёт для сверки. Подключить такой файл можно по-разному, и выбор способа зависит от того, нужна обработка один раз или постоянно, и кто ещё будет ей пользоваться.
Ниже — все три способа с точными путями меню, требования к файлу, настройка прав и типичные ошибки при подключении внешней обработки.
Внешняя обработка .epf: что это и когда её подключают
Внешняя обработка — это файл .epf, который содержит форму и программный модуль, но не входит в конфигурацию базы. Она выполняет разовую или вспомогательную задачу: массово меняет реквизиты, загружает данные из Excel, печатает нестандартный бланк, чистит дубли справочника.
Отдельно стоит внешний отчёт — файл .erf. Он только читает данные и строит выборку, ничего не записывая. Подключаются оба одинаково, поэтому дальше речь про .epf, но для .erf всё работает так же.
Главное преимущество внешней обработки — её не нужно встраивать в конфигурацию и снимать базу с поддержки. Файл работает поверх типовой конфигурации, а при обновлении релиза его не затирает.
Выбор способа подключения простой:
- 🔹 Нужна один раз — откройте файл через меню, обработка не сохранится в базе.
- 🔹 Нужна постоянно и нескольким людям — добавьте в «Дополнительные отчёты и обработки», тогда она хранится внутри базы.
- 🔹 Запуск по расписанию или из другого кода — подключайте программно.
Что проверить в файле перед подключением
Перед тем как открывать .epf, стоит убедиться, что файл вообще запустится в вашей базе. Чаще всего обработка не подключается не из-за 1С, а из-за несовпадения версий или назначения файла.
Файл .epf от платформы 8.2 обычно открывается и в 8.3, а вот сделанный в более новой платформе — нет. Собрать обработку можно только под платформу не новее той, на которой работает ваша база. Номер релиза платформы виден в окне О программе (пункт в главном меню).
Если обработка должна встраиваться в карточку документа или появляться командой в списке — она пишется под механизм дополнительных обработок и содержит экспортную функцию со сведениями о назначении. Обычная обработка без этой функции откроется только как отдельное окно.
Разовое открытие через меню «Файл»
Самый быстрый способ, когда обработка нужна один раз.
- Нажмите кнопку главного меню
≡в левом верхнем углу. - Выберите
Файл → Открыть. - Укажите путь к файлу
.epfи нажмитеОткрыть.
Обработка откроется отдельным окном. После закрытия 1С она нигде не сохраняется — при следующем запуске файл придётся открывать заново.
Чтобы пункт Файл → Открыть сработал, у пользователя должно быть право Интерактивное открытие внешних обработок. Без него 1С выдаст сообщение о нарушении прав доступа. Право включают через роль в профиле пользователя — обычно это делает администратор.
Этот способ удобен для разработчика и администратора, но не подходит для рядовых пользователей: раздавать всем право на открытие любых внешних файлов небезопасно. Для постоянной работы используйте дополнительные обработки.
Постоянное подключение через дополнительные отчёты и обработки
Если обработкой будут пользоваться регулярно и несколько человек, её добавляют в базу через подсистему дополнительных обработок. Тогда файл хранится внутри информационной базы, доступен из веб-клиента и переживает обновления конфигурации.
Сначала механизм нужно включить. Путь к настройке зависит от конфигурации:
| Конфигурация | Путь к настройке |
|---|---|
| Бухгалтерия 3.0 | Администрирование → Печатные формы, отчёты и обработки |
| ЗУП 3.1 | Администрирование → Печатные формы, отчёты и обработки |
| УТ 11, КА, ERP | НСИ и администрирование → Администрирование → Печатные формы, отчёты и обработки |
Порядок действий:
- В этом разделе включите флажок
Дополнительные отчёты и обработки. - Перейдите по ссылке
Дополнительные отчёты и обработкив том же разделе. - Нажмите
Добавить из файлаи выберите.epf. - 1С покажет предупреждение о безопасности — подтвердите, если доверяете источнику.
- Откроется карточка обработки. Проверьте в ней вид обработки и размещение.
В карточке важны два поля. Вид определяет, как обработка подключится: заполнение объекта, печатная форма, создание связанных объектов, дополнительный отчёт или произвольная команда. Размещение — в каких справочниках и документах появится её команда. Эти значения обработка подсказывает сама из своей функции сведений; администратору остаётся их подтвердить.
После сохранения команда обработки появляется в тех документах и списках, которые указаны в размещении, — в меню Ещё или на панели команд формы. Если команды не видно, проверьте: иногда размещение в карточке пустое и обработку надо вручную отметить для нужного справочника или документа.
Отдельно обработку можно запускать из списка дополнительных обработок напрямую — двойным щелчком по строке. Так удобно гонять разовые загрузчики и сервисные обработки, которым не нужно место в конкретном документе.
Если обработку обновили, не нужно удалять старую запись. Откройте её карточку и нажмите Загрузить из файла — платформа заменит содержимое, сохранив все настройки прав и размещения.
Программное подключение из кода
Когда обработку надо запускать из другого кода — например, по регламентному заданию или из своей кнопки, — её создают программно через объект ВнешниеОбработки.
Метод Создать принимает путь к файлу и флаг безопасного режима и возвращает объект обработки. Дальше вызываются её экспортные процедуры:
&НаСервере
Процедура ЗапуститьОбработкуНаСервере(ДвоичныеДанные)
// сохраняем присланные данные во временный файл
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
ДвоичныеДанные.Записать(ИмяФайла);
// создаём объект обработки (Истина — безопасный режим)
Обработка = ВнешниеОбработки.Создать(ИмяФайла, Истина);
// вызываем экспортную процедуру модуля обработки
Обработка.ВыполнитьЗагрузку();
// убираем за собой
УдалитьФайлы(ИмяФайла);
КонецПроцедуры
Второй параметр Создать — безопасный режим. При значении Истина код обработки выполняется с ограничениями: без прямого доступа к файловой системе, COM и привилегированному режиму. Если обработке эти возможности нужны по делу, режим снимают осознанно, передав Ложь, — но только для проверенного кода.
В клиент-серверной базе метод Создать выполняется на том компьютере, где идёт код: в серверной процедуре — на сервере 1С, и файл должен быть доступен серверу. Поэтому присланные данные обычно записывают во временный файл прямо на сервере, как в примере выше.
Имена экспортных процедур (здесь — ВыполнитьЗагрузку) зависят от конкретной обработки: их задаёт автор файла. Если имён не знаете, открывать и разбирать модуль придётся в Конфигураторе.
Программное подключение чаще всего нужно в двух случаях: запуск обработки по расписанию через регламентное задание и вызов её логики из своего расширения конфигурации . В обоих случаях путь к файлу лучше не хранить жёстко в коде — положите данные обработки в справочник или макет, чтобы при переносе базы ничего не ломалось.
Права доступа: кому разрешить запуск
Внешняя обработка выполняет произвольный код, поэтому доступ к ней контролируют на двух уровнях.
Право на открытие файлов. За разовое открытие через Файл → Открыть отвечает право Интерактивное открытие внешних обработок (для отчётов — отдельное право Интерактивное открытие внешних отчётов). Оно входит в роль и назначается через профиль групп доступа. Рядовым пользователям это право обычно не дают.
Доступ к дополнительным обработкам. Добавлять и менять записи в списке дополнительных обработок может только пользователь с правами администратора. А вот запускать уже подключённую обработку разрешают точечно: в её карточке указывают, каким пользователям или группам доступна команда. Так бухгалтер видит нужную ему печатную форму, но не может подключить чужой файл.
Начиная с платформы 8.3.9 для дополнительных обработок настраивают профили безопасного режима — они разрешают обработке ровно те внешние действия, которые ей нужны, и запрещают всё остальное.
Безопасность: чем опасны чужие обработки и как подстраховаться
Внешняя обработка — это исполняемый код. Запущенная без безопасного режима, она работает с правами текущего пользователя: может прочитать и изменить любые данные, к которым у него есть доступ, обратиться к диску и интернету. Файл из непроверенного источника способен выгрузить базу , удалить документы или отправить данные наружу.
Несколько правил, которые снижают риск:
- 🔒 Подключайте обработки только из доверенного источника — от своего подрядчика или проверенного автора, а не из случайной рассылки или форума.
- 🔒 Оставляйте включённым безопасный режим везде, где обработке не нужны особые полномочия.
- 🔒 Не раздавайте право интерактивного открытия внешних файлов рядовым пользователям.
- 🔒 Сомнительный файл сначала откройте в Конфигураторе и просмотрите модуль — встроенный язык 1С читаемый, подозрительные обращения к файлам и интернету видно сразу.
- 🔒 Проверяйте незнакомые обработки в копии базы, а не в рабочей.
Если обработка требует снять безопасный режим и при этом её автор и назначение непонятны — это повод остановиться. Полный доступ к базе стоит давать только коду, которому вы доверяете.
Почему обработка не подключается: разбор ошибок
Отдельная частая ситуация — обработка от другой конфигурации. Файл, написанный под Бухгалтерию, откроется в ЗУП, но упадёт с ошибкой, как только обратится к объекту, которого в ЗУП нет. Такую обработку нужно переписывать под целевую конфигурацию, подключение тут не поможет.
Частые вопросы
Чем внешняя обработка отличается от внешнего отчёта?
.epf) может изменять и записывать данные: заполнять документы, править справочники, загружать файлы. Отчёт (.erf) только читает данные и показывает результат. Подключаются оба одинаково.Сохранится ли подключённая обработка после обновления конфигурации?
Нужен ли Конфигуратор, чтобы подключить обработку?
1С:Предприятие. Конфигуратор понадобится, только если обработку нужно дорабатывать или разобрать её модуль.Можно ли запускать внешние обработки в веб-клиенте?
.epf с диска через меню Файл → Открыть в веб-клиенте нельзя: там нет прямого доступа к файловой системе.