К статье
Практический материал

Разработка и Конфигурация · 11 мин

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

Разбираем, как добавить внешнюю обработку в конфигурацию 1С: подключение через БСП, встраивание в конфигуратор, настройка прав и проверка результата.

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

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

Что такое внешняя обработка и когда она нужна

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

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

Подготовка: проверка файла и прав доступа

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

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

Быстрый запуск: открытие файла в режиме 1С:Предприятие

Самый простой способ — открыть обработку как обычный файл. В режиме 1С:Предприятие выберите в главном меню «Файл → Открыть» и укажите путь к файлу .epf. Платформа загрузит обработку и покажет её основную форму. Этот способ подходит для разового запуска: обработка нигде не регистрируется, и после закрытия окна её нужно открывать заново.

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

Регистрация в дополнительных отчётах и обработках (БСП)

В конфигурациях на базе библиотеки стандартных подсистем (Управление торговлей, Бухгалтерия предприятия, ERP, Зарплата и управление персоналом и других) есть штатный механизм подключения внешних файлов. Перейдите в раздел «Администрирование» и откройте «Печатные формы, отчёты и обработки». Установите флаг «Дополнительные отчёты и обработки», если он ещё не включён, затем перейдите по одноимённой ссылке.

В открывшемся списке нажмите «Добавить из файла» и выберите файл .epf. Программа прочитает сведения из модуля обработки: наименование, версию, вид (заполнение объекта, печатная форма, дополнительная обработка и т.д.) и предложит назначить размещение — разделы командного интерфейса, где появится команда запуска. После записи обработка становится доступна пользователям согласно настроенным правам и быстрому доступу.

Порядок действий
  1. 1
    Откройте «Администрирование → Печатные формы, отчёты и обработки» и включите опцию «Дополнительные отчёты и обработки»
  2. 2
    Перейдите в список «Дополнительные отчёты и обработки» и нажмите «Добавить из файла»
  3. 3
    Выберите файл .epf и дождитесь загрузки сведений об обработке
  4. 4
    Укажите размещение: разделы интерфейса и, при необходимости, виды документов или справочников, к которым привязана обработка
  5. 5
    Настройте быстрый доступ: отметьте пользователей или группы, которым доступна команда
  6. 6
    Запишите элемент и проверьте появление команды в указанном разделе

Если обработка не содержит сведений о регистрации

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

Встраивание обработки в конфигурацию через конфигуратор

Если обработка должна стать частью решения, её превращают во встроенный объект. Откройте конфигуратор, выполните «Конфигурация → Открыть конфигурацию» (при необходимости предварительно снимите конфигурацию с полной поддержки или договоритесь о порядке обновлений). Затем откройте внешний файл через «Файл → Открыть» — обработка отобразится в отдельном окне дерева объектов.

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

Завершите работу командой «Конфигурация → Обновить конфигурацию базы данных». Для обновления потребуется монопольный доступ: все пользователи должны выйти из базы. После обновления обработка появится в интерфейсе в соответствии с настройками подсистем и ролей.

Сравнение вариантов

Открытие файла вручную

Подходит для разового запуска администратором. Не требует настройки, но обработка не сохраняется в базе и недоступна другим пользователям.

Регистрация в БСП

Оптимально для пользовательских обработок. Не меняет конфигурацию, поддерживает версии и права. Требует конфигурации на базе БСП и функции сведений в модуле.

Встраивание в конфигураторе

Для постоянной функциональности, распространяемой с обновлениями. Требует изменения конфигурации, монопольного доступа и усложняет последующие обновления типового решения.

Проверка результата и типичные ошибки

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

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

Типичные ошибки
01
Попытка добавить файл в БСП без функции «СведенияОВнешнейОбработке» — программа отклоняет файл; нужно дописать сведения или добавить обработку вручную
02
Забытый флаг «Дополнительные отчёты и обработки» в настройках — ссылка на список просто не отображается в разделе администрирования
03
Встраивание в типовую конфигурацию без снятия замка поддержки — при следующем обновлении изменения будут потеряны или обновление станет невозможным
04
Отсутствие теста на копии базы — ошибка в коде обработки повреждает рабочие данные без возможности отката
05
Ненастроенный быстрый доступ — обработка зарегистрирована, но пользователи её не видят
Контрольные точки

Как проверить результат

Команда запуска в интерфейсе
Норма

Команда видна в указанном разделе у всех нужных пользователей

Тревожный признак

Команда видна только администратору или отсутствует вовсе

Запуск обработки
Норма

Форма открывается, операции выполняются без сообщений об ошибках

Тревожный признак

Ошибка компиляции модуля или «Метод объекта не обнаружен»

Журнал регистрации
Норма

Нет ошибок после обновления конфигурации и при запуске

Тревожный признак

Ошибки доступа, обновления или выполнения кода

Права доступа
Норма

Роли дают «Использование» и «Просмотр» объекта

Тревожный признак

Пользователь получает сообщение о нарушении прав доступа

Ограничения и безопасная работа

Внешние обработки исполняются в безопасном режиме только если это явно настроено; по умолчанию при ручном открытии код работает с полными правами пользователя. В файловых базах перед массовыми операциями делайте выгрузку .dt, в клиент-серверных — резервную копию средствами СУБД. Это единственный надёжный способ откатить последствия ошибочного кода.

Помните о совместимости: обработка, написанная под обычные формы, не откроется в управляемом приложении, и наоборот. Также код может зависеть от конкретных объектов конфигурации — обработка для «Управления торговлей» не заработает в «Бухгалтерии», если обращается к отсутствующим там документам. Перед подключением проверяйте, для какой конфигурации и режима совместимости написан файл.

Итог

Что важно запомнить

Разовый запуск — через «Файл → Открыть». Постоянное использование без изменения конфигурации — регистрация в «Дополнительных отчётах и обработках» с настройкой размещения и прав. Встраивание в конфигурацию — только через конфигуратор с монопольным доступом. Любую новую обработку сначала проверяйте на копии базы.

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

Можно ли добавить внешнюю обработку, не снимая конфигурацию с поддержки?

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

Почему программа пишет, что файл не является дополнительной обработкой?

Механизм БСП требует в модуле обработки функцию «СведенияОВнешнейОбработке» с описанием вида, версии и назначения. Если её нет, файл можно только открывать вручную через «Файл → Открыть» либо доработать код по стандарту БСП.

Как обновить уже подключённую внешнюю обработку на новую версию?

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

Откроется ли обработка в веб-клиенте или мобильном клиенте?

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

Чем внешний отчёт (.erf) отличается при подключении?

Процедура идентична: тот же список дополнительных отчётов и обработок, те же настройки размещения и прав. Разница только в типе объекта — отчёт строится на СКД или произвольном алгоритме и выводит результат в табличный документ.

Безопасно ли запускать обработки, скачанные из интернета?

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