Внешние обработки в 1С 8.3: добавить в справочник, открыть разово, встроить в конфигурацию

· 11 мин

Содержание

Чтобы внешняя обработка постоянно была под рукой, её добавляют в справочник: в БП 3.0 и ЗУП 3.1 это Администрирование → Печатные формы, отчеты и обработки, флажок «Дополнительные отчеты и обработки», затем одноимённая ссылка и кнопка «Добавить из файла». Для разового запуска хватит Файл → Открыть (Ctrl+O) и выбора файла .epf или .erf. Оба способа требуют прав, которых у обычного пользователя по умолчанию нет.

Типичная ситуация: программист прислал файл «ЗагрузкаИзExcel.epf», бухгалтер открыл его, а 1С ответила «Нарушение прав доступа» или молча не показала обработку ни в одном меню. Разберём, какой способ подключения выбрать, как дать права и что проверить в файле перед запуском.

Что такое внешняя обработка и чем она отличается от встроенной

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

Расширения файлов:

  • 📄 .epf — внешняя обработка: загрузка данных, групповое изменение, сервисные действия;
  • 📊 .erf — внешний отчёт;
  • 🖨 печатная форма и обработка заполнения — тоже файлы .epf, но внутри у них описано, к какому документу или справочнику они относятся.

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

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА 2, ERP) есть отдельная подсистема «Дополнительные отчеты и обработки». Она хранит файлы прямо в базе, в справочнике, и раздаёт команды по разделам и документам.

Где брать внешние обработки и что проверить в файле

Источники обычно такие:

  • 👨‍💻 свой программист или франчайзи — под ваши задачи, с исходным кодом;
  • 📦 сервисные обработки, которые фирма 1С публикует для пользователей ИТС (например, универсальный обмен данными в формате XML);
  • 🌐 каталоги и форумы 1С-разработчиков — бесплатные и платные решения.

Перед подключением проверьте файл по короткому списку:

  1. Под какую конфигурацию и релиз написан. Обработка для УТ 11 в Бухгалтерии работать не будет.
  2. Открыт ли код. Если модуль закрыт паролем или поставляется без исходного текста, вы не узнаете, что он делает с базой.
  3. Подходит ли для подключения в справочник. Это видно только по коду: в модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Без неё файл можно открыть лишь через Файл → Открыть.
  4. В какой версии платформы сохранён. Файл из более новой платформы старая может не открыть. Номер вашей платформы смотрите в Справка → О программе.

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

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

Способов три, и они решают разные задачи.

СпособКому подходитГде появится обработкаПрава
Справочник «Дополнительные отчеты и обработки»Пользователи типовых конфигураций на БСПВ разделах, в меню «Печать», в формах документовДобавляет администратор, пользуются все, кому назначено
Файл → ОткрытьРазовый запуск, тестированиеТолько в открытом окнеПраво на интерактивное открытие внешних обработок
Встраивание в конфигурацию или расширениеНетиповые базы, постоянные доработкиКак обычный объект конфигурацииДоступ в Конфигуратор
Что вам нужно сделать с обработкой?

Как добавить внешнюю обработку через интерфейс 1С

Это основной способ для типовых конфигураций. Пути к настройкам:

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

Шаг 1. Включите подсистему

  1. Откройте раздел по пути из таблицы.
  2. Установите флажок «Дополнительные отчеты и обработки».
  3. Справа станет активной одноимённая ссылка. Нажмите её.

Шаг 2. Загрузите файл

  1. В списке нажмите «Добавить из файла».
  2. 1С покажет предупреждение безопасности: файл может навредить базе. Если файл проверен, нажмите «Продолжить».
  3. Выберите .epf или .erf на диске.
  4. Откроется карточка. Наименование, тип и версия подтянутся из самого файла.

Шаг 3. Настройте размещение

Здесь чаще всего ошибаются. Обработка загружена, но в меню её нет, потому что не указано, где показывать команду.

  • 📂 Дополнительная обработка или отчёт — в поле «Размещение» отметьте разделы, например «Банк и касса» или «Склад». Команда появится в разделе по ссылке «Дополнительные обработки» или «Дополнительные отчеты».
  • 🖨 Печатная форма, заполнение, связанные объекты — список документов и справочников приходит из файла. Проверьте его и снимите лишние объекты.

Команда может работать в разных режимах. Если в карточке их несколько, задайте для нужных команд «Быстрый доступ» и выберите пользователей. Им не придётся каждый раз искать её в списке.

Шаг 4. Включите публикацию и сохраните

Поле «Публикация» принимает три значения:

ЗначениеЧто происходит
ИспользуетсяОбработка видна всем, кому разрешена
Режим отладкиВидна только администраторам, удобно для проверки новой версии
ОтключенаХранится в базе, но нигде не показывается

Нажмите «Записать и закрыть». Перезапускать 1С обычно не нужно, но команды в разделе иногда появляются только после повторного открытия раздела.

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

Разовый запуск через меню «Файл»

Если обработка нужна один раз, справочник не нужен:

  1. Откройте главное меню (кнопка с тремя полосками слева вверху) → Файл → Открыть. Или нажмите Ctrl+O.
  2. Выберите файл.
  3. Подтвердите предупреждение безопасности.

Обработка откроется в отдельном окне. После закрытия программы в базе от неё ничего не останется, кроме изменённых данных.

Подключение обработки через Конфигуратор

Для администратора Конфигуратор полезен в двух случаях.

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

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

Безопасный вариант — расширение конфигурации (доступно с платформы 8.3.6):

  1. В Конфигураторе откройте Конфигурация → Расширения конфигурации.
  2. Создайте расширение или откройте существующее.
  3. В дереве расширения встаньте на ветку «Обработки» и через контекстное меню выберите вставку внешней обработки из файла.
  4. Обновите расширение в базе и проверьте его в пользовательском режиме.

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

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

Запуск обработки при старте 1С

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

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /Execute "D:\Obr\ZagruzkaOstatkov.epf"

Так удобно запускать сервисные обработки на рабочих местах, где нет доступа к меню Файл. Учтите: проверки прав при этом никто не отменял.

Программное подключение внешней обработки

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

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

&НаСервереБезКонтекста
Функция ПодключитьВнешнююОбработку(ПутьКФайлу)

    Данные = Новый ДвоичныеДанные(ПутьКФайлу);
    Адрес = ПоместитьВоВременноеХранилище(Данные);

    // Без предупреждения об опасных действиях: файл проверен заранее
    Защита = Новый ОписаниеЗащитыОтОпасныхДействий;
    Защита.ПредупреждатьОбОпасныхДействиях = Ложь;

    // Третий параметр - безопасный режим: Ложь даёт обработке полный доступ
    ИмяОбработки = ВнешниеОбработки.Подключить(Адрес, , Ложь, Защита);

    Возврат ИмяОбработки;

КонецФункции

Дальше можно открыть форму на клиенте:

ИмяОбработки = ПодключитьВнешнююОбработку("\\srv1c\obr\Zagruzka.epf");
ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");

Или создать объект на сервере и вызвать его экспортный метод: ВнешниеОбработки.Создать(ИмяОбработки).

Что нужно учесть:

  • 🔒 Путь в Новый ДвоичныеДанные() — это путь на сервере 1С, а не на компьютере пользователя. Файл с клиента сначала передают на сервер через временное хранилище.
  • 🧱 Если поставить третий параметр в Истина, обработка запустится в безопасном режиме. Ей будет запрещён доступ к файлам, COM-объектам и привилегированному режиму, и многие загрузчики просто перестанут работать.
  • 👤 Код выполняется с правами текущего пользователя. Если ему запрещено открывать внешние обработки, подключение из кода тоже не пройдёт.

Права доступа к внешним обработкам

Здесь два разных права, и их часто путают.

Что нужноГде настраивается
Добавлять обработки в справочник и менять ихГруппы доступа, профиль администратора или отдельная роль на добавление дополнительных отчётов и обработок
Открывать файлы через Файл → ОткрытьПраво интерактивного открытия внешних обработок и отчётов
Пользоваться уже добавленной обработкойВкладка с пользователями в карточке обработки, быстрый доступ

Как выдать права в типовой конфигурации

  1. Откройте Администрирование → Настройки пользователей и прав → Группы доступа.
  2. Найдите группу, куда входит нужный пользователь, или создайте новую.
  3. В её профиле должна быть роль, которая разрешает открывать внешние отчёты и обработки. В профилях БСП она называется похоже на «Открытие внешних отчетов и обработок» — найдите её по слову «внешних» в списке ролей профиля.
  4. Запишите группу. Пользователю нужно перезайти в программу.

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

Права в нетиповой базе

В Конфигураторе у роли на корневом уровне конфигурации есть флажки «Интерактивное открытие внешних обработок» и «Интерактивное открытие внешних отчетов». Их включают в отдельной роли и назначают её только тем, кому это нужно, в Администрирование → Пользователи.

Ошибки при добавлении и запуске

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

Как не навредить базе внешней обработкой

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

Защита в платформе 8.3 устроена так:

  • 🛡 Защита от опасных действий — флажок в свойствах пользователя в Конфигураторе. Пока он включён, 1С спрашивает подтверждение перед открытием внешнего файла.
  • 🧱 Безопасный режим — ограничивает обработку: нет доступа к файловой системе, COM, внешним компонентам.
  • ☁ В облачных сервисах фирмы 1С и у многих хостинг-провайдеров внешние обработки подключаются только после проверки. Произвольный файл туда не загрузить.

Практические правила:

  1. 🔎 Не запускайте файлы с закрытым кодом из непроверенных источников.
  2. 🧪 Новую обработку сначала проверьте в копии базы, особенно если она меняет или удаляет данные.
  3. 👥 Держите право на открытие внешних файлов у одного-двух человек.
  4. 📝 Храните обработки в справочнике, а не в папках у пользователей. Так видно, кто добавил файл и какая версия используется.
  5. 🔁 После обновления конфигурации прогоните важные обработки в режиме отладки, прежде чем вернуть им публикацию «Используется».
Нужно ли заново подключать обработку после обновления 1С?
Нет, она хранится в справочнике и остаётся на месте. Но если в новом релизе изменилась структура данных, обработка может выдавать ошибки, и её придётся доработать.
Можно ли подключить одну обработку сразу к нескольким базам?
Нет, справочник дополнительных обработок у каждой базы свой. Файл придётся добавить в каждую базу отдельно и в каждой настроить размещение и пользователей.
Чем внешняя обработка отличается от расширения?
Обработка — отдельный инструмент, который запускается по команде. Расширение меняет саму конфигурацию: добавляет реквизиты, переопределяет поведение форм и модулей.
Куда сохранить обработку, чтобы её видели все пользователи?
В справочник «Дополнительные отчеты и обработки». Файл хранится в базе, поэтому пользователям не нужен доступ к сетевой папке.
Можно ли выгрузить обработку из справочника обратно в файл?
Да, в карточке есть команда сохранения в файл. Это удобно, когда нужно передать её разработчику на доработку.