Разберем частую проблему, с которой сталкиваются разработчики и администраторы при обновлении платформы 1С:Предприятие на версию 8.3.9.2033 и более новые. При попытке выполнить выгрузку или загрузку данных, обратиться к другой базе через COM-соединение или открыть внешнюю обработку система останавливает работу и выводит сообщение об ошибке.
Текст ошибки обычно выглядит следующим образом:
Предупреждение безопасности. Модуль выполняет подключение исполнимого бинарного файла V83.COMConnector. Рекомендуется обращать внимание на источник, из которого был получен данный файл... Разрешить подключать исполнимые бинарные файлы для данного модуля?
При этом окно завершается ошибкой исполнения обработчика (например, ПриКомпоновкеРезультата) в момент выполнения строки кода:
V8 = Новый COMОбъект("V83.COMConnector");
Выясним причину такого поведения и проанализируем все доступные способы решения этой задачи.
Начиная с версии 8.3.9.2033, в платформу 1С:Предприятие встроен специальный механизм защиты от опасных действий. Его задача — предотвратить несанкционированный запуск вредоносного кода, троянов-шифровальщиков и сторонних бинарных библиотек.
К потенциально опасным действиям платформа 1С автоматически относит:
V83.COMConnector, Excel.Application и других)..dll или .so).Разберем подробнее, как отключить данное предупреждение для корректного выполнения кода.
Если ошибка возникает при работе конкретного пользователя в интерактивном режиме, решение заключается в снятии соответствующего флага в Конфигураторе.
Рассмотрим по шагам выполнение этой настройки:
После снятия флага пользователь сможет выполнять обращения к COM-объектам без появления блокирующих диалоговых окон.
Данный способ незаменим, когда потенциально опасное действие должно выполняться в фоновых или регламентных заданиях. Фоновые задания работают на стороне сервера в неинтерактивном режиме без конкретного пользователя ИБ, поэтому вызов COM-объекта в фоновом задании приводит к критической ошибке.
Посмотрим, как отключить проверку защиты на уровне сервера или клиента с помощью файла conf.cfg:
conf.cfg в каталоге установки платформы (по умолчанию для Windows это C:\Program Files\1cv8\conf\conf.cfg или C:\Program Files (x86)\1cv8\conf\conf.cfg).DisableUnsafeActionProtection с маской информационных баз, для которых требуется отключить защиту.Для полного отключения защиты от опасных действий для всех баз укажем регулярное выражение .*:
DisableUnsafeActionProtection=.*
Если необходимо отключить защиту только для конкретных баз, пропишем их имена через точку с запятой:
DisableUnsafeActionProtection=baza_prod;baza_test;
Обратите внимание: для корректной работы фоновых и регламентных заданий данный параметр должен быть прописан в файле conf.cfg на сервере 1С:Предприятия.
Проанализируем ситуацию, когда внешняя обработка или отчет подключаются программно из кода конфигурации. Чтобы платформа не выводила предупреждение при загрузке внешнего модуля, можно явно передать параметр отказа от защиты.
При использовании метода Подключить() менеджера внешних обработок создается объект типа ЗащитаОтОпасныхДействий и передается в качестве параметра:
ПараметрыЗащиты = Новый ЗащитаОтОпасныхДействий;
ПараметрыЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;
ВнешниеОбработки.Подключить(ПутьКФайлу, , Ложь, ПараметрыЗащиты);
Аналогичным образом выключается предупреждение и при работе с расширениями конфигурации через свойство ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = Ложь у объекта РасширениеКонфигурации.
Рассмотрим, в какой последовательности платформа 1С проверяет необходимость вывода предупреждения:
DisableUnsafeActionProtection в файле conf.cfg. Если строка подключения текущей базы подпадает под маску, действие разрешается.Использование описанных настроек позволяет восстановить штатную работу COM-соединений и внешних обработок после обновления платформы.