Как отключить предупреждение безопасности при COM-подключении в 1С

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

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

Текст ошибки обычно выглядит следующим образом:

Предупреждение безопасности. Модуль выполняет подключение исполнимого бинарного файла V83.COMConnector. Рекомендуется обращать внимание на источник, из которого был получен данный файл... Разрешить подключать исполнимые бинарные файлы для данного модуля?

При этом окно завершается ошибкой исполнения обработчика (например, ПриКомпоновкеРезультата) в момент выполнения строки кода:

V8 = Новый COMОбъект("V83.COMConnector");

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

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

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

К потенциально опасным действиям платформа 1С автоматически относит:

  1. Создание и вызов COM-объектов (таких как V83.COMConnector, Excel.Application и других).
  2. Загрузку и подключение внешних компонент (файлов формата .dll или .so).
  3. Запуск внешних команд операционной системы и командных скриптов.
  4. Интерактивное или программное подключение внешних обработок и отчетов.
  5. Модификацию списка пользователей информационной базы.

Разберем подробнее, как отключить данное предупреждение для корректного выполнения кода.

Способ 1. Отключение защиты в карточке пользователя ИБ

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

Рассмотрим по шагам выполнение этой настройки:

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

После снятия флага пользователь сможет выполнять обращения к COM-объектам без появления блокирующих диалоговых окон.

Способ 2. Отключение защиты через файл конфигурации conf.cfg

Данный способ незаменим, когда потенциально опасное действие должно выполняться в фоновых или регламентных заданиях. Фоновые задания работают на стороне сервера в неинтерактивном режиме без конкретного пользователя ИБ, поэтому вызов COM-объекта в фоновом задании приводит к критической ошибке.

Посмотрим, как отключить проверку защиты на уровне сервера или клиента с помощью файла conf.cfg:

  1. Найдем файл conf.cfg в каталоге установки платформы (по умолчанию для Windows это C:\Program Files\1cv8\conf\conf.cfg или C:\Program Files (x86)\1cv8\conf\conf.cfg).
  2. Откроем файл любым текстовым редактором с правами администратора.
  3. Добавим параметр DisableUnsafeActionProtection с маской информационных баз, для которых требуется отключить защиту.

Для полного отключения защиты от опасных действий для всех баз укажем регулярное выражение .*:

DisableUnsafeActionProtection=.*

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

DisableUnsafeActionProtection=baza_prod;baza_test;

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

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

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

При использовании метода Подключить() менеджера внешних обработок создается объект типа ЗащитаОтОпасныхДействий и передается в качестве параметра:


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

ВнешниеОбработки.Подключить(ПутьКФайлу, , Ложь, ПараметрыЗащиты);

Аналогичным образом выключается предупреждение и при работе с расширениями конфигурации через свойство ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = Ложь у объекта РасширениеКонфигурации.

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

Рассмотрим, в какой последовательности платформа 1С проверяет необходимость вывода предупреждения:

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

Использование описанных настроек позволяет восстановить штатную работу COM-соединений и внешних обработок после обновления платформы.

← На главную