Как отключить предупреждения «Защита от опасных действий» при открытии внешних модулей в 1С:Предприятие 8.3?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Начиная с версии платформы 1С:Предприятие 8.3.9, разработчики и пользователи сталкиваются с ситуацией, когда система при каждом запуске внешних отчетов, обработок или подключении оборудования запрашивает подтверждение на выполнение потенциально опасных действий. Данная функция срабатывает независимо от разрядности клиента (как в 32-битных, так и в 64-битных клиентах) и предназначена для защиты системы от несанкционированного запуска вредоносного кода.

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

Причина возникновения предупреждений

Механизм «Защита от опасных действий» запрашивает подтверждение пользователя при выполнении следующих операций:

  1. Открытие и запуск внешних обработок, отчетов и файлов расширений.
  2. Загрузка или обновление конфигурации и расширений.
  3. Подключение внешних компонент и вызов COM-объектов (например, интеграция с MS Excel или работа с торговым оборудованием).
  4. Выполнение команд операционной системы из программного кода.
  5. Изменение состава пользователей информационной базы из внешних модулей.

Рассмотрим подробнее варианты решения данной задачи: от индивидуальной настройки пользователя до централизованного отключения на уровне всей системы.

Способ 1. Отключение в свойствах пользователя через Конфигуратор

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

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

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

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

Посмотрим на пример кода, который решает эту задачу:


Толпы = ПользователиИнформационнойБазы.ПолучитьПользователей();

Для Каждого Пользователь из Толпы Цикл 
    Пользователь.ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = Ложь;
    Пользователь.Записать();
КонецЦикла;

В этом фрагменте мы получаем массив всех пользователей объекта ПользователиИнформационнойБазы, обращаемся к свойству ЗащитаОтОпасныхДействий и меняем значение флага ПредупреждатьОбОпасныхДействиях на Ложь.

Способ 3. Централизованное отключение через файл conf.cfg

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

Файл conf.cfg расположен в каталоге установки платформы (подкаталог conf). Чтобы отключить предупреждения, внесем в него параметр DisableUnsafeActionProtection:

  1. Отключение для всех баз: добавьте строку DisableUnsafeActionProtection=.*
  2. Отключение для выборочных баз: перечислите их имена или маски через точку с запятой, например: DisableUnsafeActionProtection=test_.*;db_prod;

Важный момент: в клиент-серверном режиме работы, а также для корректного выполнения фоновых заданий строка DisableUnsafeActionProtection должна быть прописана в файле conf.cfg как на клиентских рабочих станциях, так и на сервере 1С:Предприятия.

Способ 4. Программный обход защиты при загрузке обработок и расширений

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

  1. При вызове метода Подключить() менеджеров ВнешниеОбработки или ВнешниеОтчеты передавайте параметр ЗащитаОтОпасныхДействий.
  2. При работе с объектом РасширениеКонфигурации устанавливайте логическое значение для свойства ЗащитаОтОпасныхДействий перед вызовом метода Записать().
  3. В типовых конфигурациях на базе Библиотеки Стандартных Подсистем (БСП) рекомендуется запрашивать конкретные разрешения (на использование внешних компонент, работу с файлами или COM) через встроенные механизмы безопасного режима.

Порядок проверки защиты платформой

Платформа 1С:Предприятие считает защиту отключенной и не выдает предупреждающих окон, если выполняется хотя бы одно из следующих условий:

  1. В свойствах текущего пользователя снят флажок защиты от опасных действий.
  2. Строка подключения к информационной базе подпадает под значение параметра DisableUnsafeActionProtection в файле conf.cfg.
  3. Защита явным образом отключена программно при вызове метода подключения внешней обработки или расширения.
← На главную