Внешняя обработка в 1С 8.3: три способа запуска, права и защита

· 9 мин

Содержание

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

Для новичка разница простая. Первый способ подходит, чтобы один раз запустить присланный файл. Второй — чтобы обработка жила в базе, была видна нужным пользователям и не терялась вместе с папкой «Загрузки». Третий нужен программисту, который пишет свой механизм запуска.

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

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

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

  • 📄 .epf — внешняя обработка;
  • 📊 .erf — внешний отчёт;
  • 🧩 .cfe — расширение конфигурации . Это другой механизм, через Ctrl+O его не открывают.

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

Какие бывают виды дополнительных обработок

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

ВидГде появляется после подключения
Дополнительная обработкаВ выбранном разделе, в списке дополнительных обработок
Дополнительный отчётВ выбранном разделе, в списке дополнительных отчётов
Печатная формаВ меню Печать документа или справочника
Заполнение объектаВ командах заполнения формы документа
Создание связанных объектовВ командах Создать на основании
Отчёт (привязанный)В командах отчётов формы объекта

Вид менять вручную нельзя. Он задан разработчиком внутри файла.

Способ 1. Как подключить обработку через меню «Файл» → «Открыть»

Самый быстрый путь. Подходит для разового запуска в файловой и клиент-серверной базе через тонкий или толстый клиент.

  1. Откройте главное меню программы: значок с тремя полосками в левом верхнем углу окна.
  2. Выберите Файл → Открыть. То же самое делает сочетание Ctrl+O.
  3. Укажите файл .epf на диске и нажмите Открыть.
  4. Платформа покажет предупреждение о том, что файл может содержать опасный код. Если файл из надёжного источника, подтвердите открытие.
  5. Откроется основная форма обработки. Работайте с ней как с обычным окном 1С.

После закрытия окна обработка из сеанса уходит. В следующий раз файл снова придётся искать на диске.

Почему нет пункта «Файл» или он ничего не открывает

  • 🔒 Нет права. У пользователя должно быть право «Интерактивное открытие внешних обработок». В типовых конфигурациях его выдаёт профиль групп доступа «Открытие внешних отчетов и обработок» (Администрирование → Пользователи и права → Группы доступа). Без права появится сообщение Нарушение прав доступа!.
  • 🌐 Веб-клиент. В браузере открыть произвольный файл через меню не получится. Используйте второй способ.
  • ☁️ Облако на 1С:Фреш. Произвольные файлы там не запускают. Обработку подключают только после проверки в сервисе.

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

Способ 2. Подключение обработки через «Дополнительные отчеты и обработки»

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

Шаг 1. Включите функциональность

Пути по конфигурациям:

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

На открывшейся странице поставьте флажок Дополнительные отчеты и обработки. Рядом станет активной одноимённая ссылка.

Шаг 2. Добавьте файл

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

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

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

Это шаг, который новички пропускают, а потом ищут обработку по всем меню.

  • 📍 Размещение (для дополнительных обработок и отчётов). Щёлкните по полю размещения и отметьте разделы, где обработка должна появиться: например, «Покупки» или «Склад».
  • 👥 Быстрый доступ. В табличной части команд нажмите на колонку быстрого доступа и выберите пользователей. У них команда будет сразу на виду, без поиска в списке.
  • 🧾 Объекты (для печатных форм и заполнения). Проверьте список документов или справочников, к которым привязана команда. Его задаёт разработчик, но иногда список нужно сузить.
  • 🔘 Публикация. Значения: Используется, Режим отладки, Отключена. Для рабочей эксплуатации — Используется.

Нажмите Записать и закрыть.

Шаг 4. Найдите и запустите

Для дополнительной обработки откройте выбранный раздел. В панели навигации появится команда Дополнительные обработки. В открывшемся списке выберите свою и нажмите Выполнить.

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

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

Способ 3. Программное подключение обработки (для разработчиков)

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

Схема из трёх шагов: поместить файл во временное хранилище , подключить его на сервере, открыть форму по полученному имени.

&НаКлиенте
Процедура ВыбратьИОткрыть(Команда)
	Оповещение = Новый ОписаниеОповещения("ПослеПомещенияФайла", ЭтотОбъект);
	НачатьПомещениеФайла(Оповещение, , , Истина, УникальныйИдентификатор);
КонецПроцедуры

&НаКлиенте
Процедура ПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
	Если Не Результат Тогда
		Возврат;
	КонецЕсли;
	ИмяОбработки = ПодключитьНаСервере(Адрес);
	ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПодключитьНаСервере(Адрес)
	ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий;
	ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;
	Возврат ВнешниеОбработки.Подключить(Адрес, , Ложь, ОписаниеЗащиты);
КонецФункции

Что здесь происходит:

  1. НачатьПомещениеФайла открывает диалог выбора и кладёт файл во временное хранилище формы.
  2. ВнешниеОбработки.Подключить подключает обработку на сервере и возвращает её имя.
  3. Третий параметр Ложь — подключение без безопасного режима. Обработка получает доступ к файлам, COM и внешним компонентам. Ставьте Ложь только для своего проверенного кода.
  4. ОткрытьФорму с путём ВнешняяОбработка.<Имя>.Форма открывает основную форму.

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

Старый приём ВнешниеОбработки.Создать("C:\Путь\Файл.epf") с путём к файлу работает, только если файл лежит там, где его видит процесс, выполняющий код. В клиент-серверной базе это диск сервера 1С, а не компьютер пользователя. Отсюда типичная ошибка «файл не найден», хотя он лежит у пользователя на рабочем столе.

Ошибки при подключении внешних обработок и что с ними делать

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

Ещё один частый случай: файл скачан из почты, и Windows заблокировала его. Откройте свойства файла в Проводнике и снимите отметку блокировки, если она есть.

Безопасность при работе с внешними обработками

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

  • 🔍 Источник. Берите файлы у разработчика, с которым есть договор, или у проверенного поставщика. Обработка «с форума» может удалять данные или отправлять их наружу.
  • 🧪 Копия базы. Первый запуск обработки, которая меняет данные, — только на копии базы. Массовая обработка за секунды перепишет тысячи документов, и откатить это без резервной копии нельзя.
  • 👀 Код. Откройте файл в конфигураторе (Файл → Открыть) и просмотрите модуль объекта и модуль формы. Насторожить должны обращения к COMОбъект, HTTPСоединение, УдалитьФайлы, ЗапуститьПриложение.
  • 🛡️ Безопасный режим. В справочнике дополнительных обработок файл по умолчанию работает в безопасном режиме, если разработчик не запросил иное. Не снимайте ограничения без понимания, зачем они нужны.

Защита от опасных действий

В современных версиях платформы при открытии внешней обработки срабатывает защита от опасных действий: платформа показывает предупреждение перед запуском. Это настраивается для каждого пользователя в конфигураторе (Администрирование → Пользователи, флажок Защита от опасных действий).

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

DisableUnsafeActionProtection=.*

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

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

Свою внешнюю обработку делают в конфигураторе. Конфигурацию базы при этом менять не нужно.

  1. Запустите базу в режиме Конфигуратор.
  2. Выберите Файл → Новый → Внешняя обработка и нажмите ОК.
  3. Задайте имя на латинице или кириллице без пробелов, например ЗагрузкаЦен.
  4. На вкладке Формы добавьте управляемую форму. Она станет основной.
  5. Добавьте реквизиты, команды и код.
  6. Сохраните: Файл → Сохранить как, тип .epf.

Такой файл уже можно открыть через Ctrl+O. Чтобы он встал в справочник дополнительных обработок, добавьте в модуль объекта функцию регистрации:

Функция СведенияОВнешнейОбработке() Экспорт
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.3.1.73");
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.БезопасныйРежим = Истина;

	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Загрузка цен";
	Команда.Идентификатор = "ЗагрузкаЦен";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	Команда.ПоказыватьОповещение = Ложь;

	Возврат ПараметрыРегистрации;
КонецФункции

Параметр "2.3.1.73" — минимальная версия БСП, с которой совместима обработка. БезопасныйРежим = Истина оставляйте, пока обработке не нужны файлы, COM или интернет.

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

Какой способ выбрать

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

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

Можно ли подключить обработку от другой конфигурации?
Открыть файл можно, но обработка обращается к объектам своей конфигурации. Если в вашей базе таких справочников или реквизитов нет, она завершится ошибкой. Нужна версия под вашу программу.
Нужно ли подключать обработку заново после обновления конфигурации?
Нет. Карточка в справочнике дополнительных обработок сохраняется. Но если обработка завязана на реквизиты, которые обновление изменило, может понадобиться её новая версия.
Где хранится обработка, загруженная в справочник?
Внутри информационной базы. Исходный файл можно удалить: он попадёт в выгрузку и резервную копию вместе с базой.
Как выгрузить обработку обратно в файл?
Откройте карточку в справочнике дополнительных обработок и выберите команду сохранения в файл. Пригодится, чтобы перенести обработку в другую базу или отдать программисту.
Чем внешняя обработка отличается от расширения?
Обработка — отдельный инструмент со своей формой. Расширение встраивается в конфигурацию: меняет формы, добавляет реквизиты и команды в типовые объекты, и после загрузки требует обновить конфигурацию базы данных.