12

Ошибка при вызове конструктора (COMОбъект): установлен безопасный режим

Расширение работало до обращения к COM, после чего 1С останавливала выполнение. Снятая у пользователя «Защита от опасных действий» ничего не меняла, потому что ограничение находилось не в карточке пользователя.

Проблема

При создании COM-объекта появлялось сообщение:

Ошибка при вызове конструктора (COMОбъект): установлен безопасный режим. Выполнение операции запрещено

Причина

Код выполнялся из расширения, подключённого в безопасном режиме. В таком режиме платформа блокирует потенциально опасные внешние операции независимо от прав пользователя. Тот же текст появляется, если код переведён в безопасный режим вызовом УстановитьБезопасныйРежим(Истина) или информационной базе назначен профиль безопасности с запретом COM. Эти варианты я проверяю отдельно.

Решение

  1. Открыл список расширений: в режиме «1С:Предприятие» — раздел администрирования со списком расширений, в конфигураторе — «Конфигурация — Расширения конфигурации».
  2. Нашёл нужное расширение и открыл его свойства.
  3. На тестовой базе снял флажок «Безопасный режим» именно у этого расширения.
  4. Проверил, что безопасный режим не включается программно и что профиль безопасности базы не запрещает COM.
  5. Перезапустил сеанс и повторил действие.

После этого создание COM-объекта заработало. На рабочей системе вместо полного отключения безопасного режима я использую профиль безопасности: включаю «Разрешить обращение к COM-объектам» и перечисляю нужные классы.

Раздел:

Получилось или остались вопросы?

Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.

Напишите комментарий

Опишите проблему и укажите, какое решение вы уже проверили. Адрес электронной почты на сайте не публикуется.