Расширение работало до обращения к COM, после чего 1С останавливала выполнение. Снятая у пользователя «Защита от опасных действий» ничего не меняла, потому что ограничение находилось не в карточке пользователя.
Проблема
При создании COM-объекта появлялось сообщение:
Ошибка при вызове конструктора (COMОбъект): установлен безопасный режим. Выполнение операции запрещено
Причина
Код выполнялся из расширения, подключённого в безопасном режиме. В таком режиме платформа блокирует потенциально опасные внешние операции независимо от прав пользователя. Тот же текст появляется, если код переведён в безопасный режим вызовом УстановитьБезопасныйРежим(Истина) или информационной базе назначен профиль безопасности с запретом COM. Эти варианты я проверяю отдельно.
Решение
- Открыл список расширений: в режиме «1С:Предприятие» — раздел администрирования со списком расширений, в конфигураторе — «Конфигурация — Расширения конфигурации».
- Нашёл нужное расширение и открыл его свойства.
- На тестовой базе снял флажок «Безопасный режим» именно у этого расширения.
- Проверил, что безопасный режим не включается программно и что профиль безопасности базы не запрещает COM.
- Перезапустил сеанс и повторил действие.
После этого создание COM-объекта заработало. На рабочей системе вместо полного отключения безопасного режима я использую профиль безопасности: включаю «Разрешить обращение к COM-объектам» и перечисляю нужные классы.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.