К статье
Практический материал

Разработка и Конфигурация · 11 мин

Ошибка «Расширение модуля запрещено, так как расширение подключено в безопасном режиме» в 1С

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

При подключении расширения конфигурации в 1С:Предприятие можно столкнуться с сообщением «Расширение модуля запрещено, так как расширение подключено в безопасном режиме». Ошибка означает, что платформа загрузила расширение с ограничениями безопасного режима, а в этом режиме изменение (расширение) программных модулей конфигурации запрещено — расширение может менять только данные, формы, роли и другие объекты, не затрагивающие исполняемый код.

Безопасный режим — защитный механизм платформы. Он предотвращает выполнение потенциально опасного кода: обращений к файловой системе, внешним компонентам, COM-объектам, а также изменение логики модулей основной конфигурации. Когда расширение, содержащее изменённые модули (аннотации &ИзменениеИКонтроль, &Вместо, &Перед, &После), подключается в безопасном режиме, платформа отказывается применять эти изменения и выдаёт указанную ошибку.

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

Что означает ошибка и почему безопасный режим блокирует расширение модулей

Расширение конфигурации в 1С может изменять два класса объектов: структуру метаданных (справочники, документы, реквизиты, формы, макеты, роли) и программный код модулей. Изменение модулей выполняется через аннотации: &ИзменениеИКонтроль, &Вместо, &Перед, &После. Именно второй класс изменений считается платформой потенциально опасным, поскольку позволяет внедрить произвольный исполняемый код в типовую логику.

Безопасный режим запрещает расширению модулей целиком: даже безобидная обёртка &После над обработчиком формы не будет применена. При этом расширение форм, реквизитов и данных продолжает работать. Поэтому одно и то же расширение может частично функционировать (новые реквизиты видны), но его программная логика молча не выполняется либо подключение завершается ошибкой — поведение зависит от версии платформы и способа подключения.

Как проверить, в безопасном ли режиме подключено расширение

Откройте в режиме «1С:Предприятие» раздел «Администрирование» → «Печатные формы, отчеты и обработки» → «Расширения» (в конфигурациях на БСП) либо стандартный список расширений через «Все функции» → «Стандартные» → «Управление расширениями конфигурации». В списке у каждого расширения есть колонка «Безопасный режим» — если флаг установлен, расширение работает с ограничениями.

Дополнительно проверьте, содержит ли расширение изменённые модули. Откройте расширение в конфигураторе (файл .cfe можно открыть через «Конфигурация» → «Расширения конфигурации» после загрузки) и посмотрите дерево объектов: если в разделе «Общие модули», модулях объектов или форм есть заимствованные методы с аннотациями изменения, то в безопасном режиме такое расширение работать не сможет принципиально.

Программно состояние безопасного режима можно определить функцией БезопасныйРежим() — она возвращает Истина, если код выполняется с ограничениями. Это полезно при отладке: вставьте проверку в обработчик, который должен срабатывать из расширения, и убедитесь, что код вообще вызывается.

Флаг «Безопасный режим» у расширенияУстановлен

Снимите флаг в списке расширений, если это допустимо политикой безопасности

Расширение содержит изменённые модулиДа

Без снятия безопасного режима работать не будет

Работа в сервисе 1С:ФрешДа

Безопасный режим снять нельзя, нужна доработка расширения или другой подход

Ошибка появилась после обновления платформыДа

Проверьте профили безопасности кластера и настройки публикации

Способ 1: отключить безопасный режим у расширения в списке расширений

Самый простой сценарий — ручное отключение флага. В списке расширений конфигурации выделите нужное расширение, откройте его карточку (или используйте команду изменения) и снимите флаг «Безопасный режим». После этого перезапустите сеанс или переподключите расширение: изменения применяются при следующем подключении.

В файловой базе это действие доступно пользователю с правами администратора. В клиент-серверном варианте может потребоваться также наличие права «Администрирование расширений конфигурации». Если флаг недоступен для редактирования (затенён), значит, безопасный режим навязан извне — профилем безопасности кластера, настройками публикации или менеджером сервиса.

Порядок действий
  1. 1
    Откройте список расширений: Администрирование → Расширения (или Все функции → Управление расширениями конфигурации)
  2. 2
    Найдите проблемное расширение и откройте его свойства
  3. 3
    Снимите флаг «Безопасный режим» и сохраните изменения
  4. 4
    Перезапустите сеанс 1С:Предприятие
  5. 5
    Проверьте, что логика расширения выполняется, а ошибка не повторяется

Способ 2: профили безопасности на сервере 1С

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

Проверьте в консоли кластера серверов 1С свойства информационной базы — поля «Профиль безопасности» и «Профиль безопасности безопасного режима». Если профиль назначен, нужно либо скорректировать его разрешения (разрешить полный доступ для доверенного расширения), либо убрать привязку профиля к базе. Эти действия выполняет администратор сервера, и менять профили следует осознанно: они защищают всю базу, а не одно расширение.

Для веб-публикации дополнительно проверьте файл default.vrd: параметры публикации также могут влиять на применение расширений и безопасный режим при работе через веб-сервер.

Способ 3: работа в сервисе 1С:Фреш и его ограничения

В облачном сервисе 1С:Фреш безопасный режим для расширений включён принудительно и не отключается пользователем — это требование технологии сервиса. Расширения, изменяющие модули конфигурации, там не работают в принципе, и ошибка «расширение модуля запрещено» в этой среде является ожидаемым поведением, а не сбоем.

Выхода два. Первый — переработать расширение: вынести логику из изменённых модулей в подписки на события, обработчики форм, добавленные через расширение, дополнительные отчёты и обработки БСП, регламентные задания. Второй — перейти на коробочную версию конфигурации (локальную или в собственном облаке), где безопасный режим можно контролировать.

Сравнение вариантов

Снять флаг безопасного режима

Подходит для файловых и клиент-серверных баз при доверенном расширении. Ограничение: не работает при принудительном профиле безопасности

Настроить профиль безопасности кластера

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

Переработать расширение без изменения модулей

Единственный путь для 1С:Фреш и строгих политик безопасности. Ограничение: не всякую логику можно реализовать без расширения модулей

Проверка результата и типичные ошибки

После отключения безопасного режима перезапустите сеанс и проверьте три признака: расширение в списке отображается как подключённое без предупреждений; журнал регистрации не содержит новых ошибок подключения расширений; функциональность, которую реализует расширение, фактически работает (например, открывается изменённая форма или срабатывает обработчик).

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

Типичные ошибки
01
Снятие флага без перезапуска сеанса — изменения применяются при переподключении расширения, старый сеанс продолжает работать с прежними настройками
02
Попытка снять флаг при принудительном профиле безопасности — флаг возвращается или игнорируется, нужно менять профиль на уровне кластера
03
Игнорирование происхождения расширения — отключение защиты для непроверенного кода создаёт риск утечки и порчи данных
04
Обновление конфигурации без актуализации расширения — изменённые модули перестают совпадать с типовыми, и ошибки возвращаются уже по причине нарушения контроля
Контрольные точки

Как проверить результат

Статус расширения в списке
Норма

Подключено, без значков предупреждений, флаг безопасного режима снят

Тревожный признак

Предупреждение о безопасном режиме или ошибке подключения

Журнал регистрации
Норма

Нет новых ошибок по расширениям после перезапуска

Тревожный признак

Повторяющиеся ошибки подключения или контроля модулей

Работа функциональности
Норма

Изменённые обработчики и формы работают как задумано

Тревожный признак

Логика расширения не выполняется, поведение типовое

Частые вопросы

Можно ли обойти ограничение, не снимая безопасный режим?

Нет, запрет на расширение модулей в безопасном режиме встроен в платформу и обхода не имеет. Единственная альтернатива — реализовать нужную логику средствами, разрешёнными в безопасном режиме: подписками на события, дополнительными обработками БСП, расширением форм без изменения кода типовых модулей.

Почему флаг «Безопасный режим» недоступен для редактирования?

Значит, режим навязан извне: профилем безопасности кластера серверов, настройками менеджера сервиса или недостатком прав. Проверьте права пользователя (нужно администрирование расширений) и настройки профиля безопасности информационной базы в консоли кластера.

Опасно ли отключать безопасный режим у расширения?

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

Расширение работало, а после обновления конфигурации появилась ошибка. Что делать?

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

Как узнать, какие модули расширение изменяет?

Откройте расширение в конфигураторе и просмотрите дерево объектов: заимствованные методы с аннотациями &ИзменениеИКонтроль, &Вместо, &Перед, &После находятся в модулях объектов, форм и общих модулях. Также полезен отчёт о сравнении расширения с основной конфигурацией.

Работает ли расширение модулей в тонком и веб-клиенте?

Да, если безопасный режим отключён, изменённые модули применяются во всех клиентах, для которых скомпилирован код. Ограничения касаются только контекста компиляции: серверные методы должны быть в серверных модулях, клиентские — в клиентских.

Итог

Что важно запомнить

Ошибка означает, что расширение изменяет модули конфигурации, а безопасный режим это запрещает. Решение — снять флаг безопасного режима у расширения или скорректировать профиль безопасности кластера; в сервисе 1С:Фреш это невозможно, и расширение придётся перерабатывать. Снимайте защиту только с проверенных расширений и проверяйте результат после перезапуска сеанса.