Разработка и Конфигурация · 11 мин
Ошибка «Расширение модуля запрещено, так как расширение подключено в безопасном режиме» в 1С
Разбираем ошибку «расширение модуля запрещено, так как расширение подключено в безопасном режиме» в 1С: причины, способы отключения безопасного режима и проверка результата.
При подключении расширения конфигурации в 1С:Предприятие можно столкнуться с сообщением «Расширение модуля запрещено, так как расширение подключено в безопасном режиме». Ошибка означает, что платформа загрузила расширение с ограничениями безопасного режима, а в этом режиме изменение (расширение) программных модулей конфигурации запрещено — расширение может менять только данные, формы, роли и другие объекты, не затрагивающие исполняемый код.
Безопасный режим — защитный механизм платформы. Он предотвращает выполнение потенциально опасного кода: обращений к файловой системе, внешним компонентам, COM-объектам, а также изменение логики модулей основной конфигурации. Когда расширение, содержащее изменённые модули (аннотации &ИзменениеИКонтроль, &Вместо, &Перед, &После), подключается в безопасном режиме, платформа отказывается применять эти изменения и выдаёт указанную ошибку.
Проблема возникает в нескольких типовых ситуациях: при ручном добавлении расширения с отмеченным флагом безопасного режима, при автоматической загрузке расширений через механизмы БСП, при работе в сервисе (SaaS), где безопасный режим включён принудительно, а также при установке расширений из внешних источников без снятия защиты. Ниже разобраны причины появления ошибки, способы её устранения для файлового и клиент-серверного вариантов работы и ограничения, которые важно учитывать.
Что означает ошибка и почему безопасный режим блокирует расширение модулей
Расширение конфигурации в 1С может изменять два класса объектов: структуру метаданных (справочники, документы, реквизиты, формы, макеты, роли) и программный код модулей. Изменение модулей выполняется через аннотации: &ИзменениеИКонтроль, &Вместо, &Перед, &После. Именно второй класс изменений считается платформой потенциально опасным, поскольку позволяет внедрить произвольный исполняемый код в типовую логику.
Безопасный режим запрещает расширению модулей целиком: даже безобидная обёртка &После над обработчиком формы не будет применена. При этом расширение форм, реквизитов и данных продолжает работать. Поэтому одно и то же расширение может частично функционировать (новые реквизиты видны), но его программная логика молча не выполняется либо подключение завершается ошибкой — поведение зависит от версии платформы и способа подключения.
Как проверить, в безопасном ли режиме подключено расширение
Откройте в режиме «1С:Предприятие» раздел «Администрирование» → «Печатные формы, отчеты и обработки» → «Расширения» (в конфигурациях на БСП) либо стандартный список расширений через «Все функции» → «Стандартные» → «Управление расширениями конфигурации». В списке у каждого расширения есть колонка «Безопасный режим» — если флаг установлен, расширение работает с ограничениями.
Дополнительно проверьте, содержит ли расширение изменённые модули. Откройте расширение в конфигураторе (файл .cfe можно открыть через «Конфигурация» → «Расширения конфигурации» после загрузки) и посмотрите дерево объектов: если в разделе «Общие модули», модулях объектов или форм есть заимствованные методы с аннотациями изменения, то в безопасном режиме такое расширение работать не сможет принципиально.
Программно состояние безопасного режима можно определить функцией БезопасныйРежим() — она возвращает Истина, если код выполняется с ограничениями. Это полезно при отладке: вставьте проверку в обработчик, который должен срабатывать из расширения, и убедитесь, что код вообще вызывается.
Снимите флаг в списке расширений, если это допустимо политикой безопасности
Без снятия безопасного режима работать не будет
Безопасный режим снять нельзя, нужна доработка расширения или другой подход
Проверьте профили безопасности кластера и настройки публикации
Способ 1: отключить безопасный режим у расширения в списке расширений
Самый простой сценарий — ручное отключение флага. В списке расширений конфигурации выделите нужное расширение, откройте его карточку (или используйте команду изменения) и снимите флаг «Безопасный режим». После этого перезапустите сеанс или переподключите расширение: изменения применяются при следующем подключении.
В файловой базе это действие доступно пользователю с правами администратора. В клиент-серверном варианте может потребоваться также наличие права «Администрирование расширений конфигурации». Если флаг недоступен для редактирования (затенён), значит, безопасный режим навязан извне — профилем безопасности кластера, настройками публикации или менеджером сервиса.
- 1Откройте список расширений: Администрирование → Расширения (или Все функции → Управление расширениями конфигурации)
- 2Найдите проблемное расширение и откройте его свойства
- 3Снимите флаг «Безопасный режим» и сохраните изменения
- 4Перезапустите сеанс 1С:Предприятие
- 5Проверьте, что логика расширения выполняется, а ошибка не повторяется
Способ 2: профили безопасности на сервере 1С
В клиент-серверном варианте безопасный режим может контролироваться профилями безопасности кластера. Если администратор кластера назначил информационной базе профиль безопасности, в котором не разрешено расширение модулей, флаг у расширения будет устанавливаться принудительно, а попытка его снять не даст эффекта.
Проверьте в консоли кластера серверов 1С свойства информационной базы — поля «Профиль безопасности» и «Профиль безопасности безопасного режима». Если профиль назначен, нужно либо скорректировать его разрешения (разрешить полный доступ для доверенного расширения), либо убрать привязку профиля к базе. Эти действия выполняет администратор сервера, и менять профили следует осознанно: они защищают всю базу, а не одно расширение.
Для веб-публикации дополнительно проверьте файл default.vrd: параметры публикации также могут влиять на применение расширений и безопасный режим при работе через веб-сервер.
Способ 3: работа в сервисе 1С:Фреш и его ограничения
В облачном сервисе 1С:Фреш безопасный режим для расширений включён принудительно и не отключается пользователем — это требование технологии сервиса. Расширения, изменяющие модули конфигурации, там не работают в принципе, и ошибка «расширение модуля запрещено» в этой среде является ожидаемым поведением, а не сбоем.
Выхода два. Первый — переработать расширение: вынести логику из изменённых модулей в подписки на события, обработчики форм, добавленные через расширение, дополнительные отчёты и обработки БСП, регламентные задания. Второй — перейти на коробочную версию конфигурации (локальную или в собственном облаке), где безопасный режим можно контролировать.
Сравнение вариантов
Подходит для файловых и клиент-серверных баз при доверенном расширении. Ограничение: не работает при принудительном профиле безопасности
Подходит для серверных баз с централизованной политикой. Ограничение: требует прав администратора кластера и влияет на всю базу
Единственный путь для 1С:Фреш и строгих политик безопасности. Ограничение: не всякую логику можно реализовать без расширения модулей
Проверка результата и типичные ошибки
После отключения безопасного режима перезапустите сеанс и проверьте три признака: расширение в списке отображается как подключённое без предупреждений; журнал регистрации не содержит новых ошибок подключения расширений; функциональность, которую реализует расширение, фактически работает (например, открывается изменённая форма или срабатывает обработчик).
Если ошибка сохраняется после снятия флага, проверьте совместимость версии расширения с текущей версией конфигурации: после обновления конфигурации изменённые модули могут перестать соответствовать исходным методам, и платформа откажет в подключении уже по другой причине — с сообщением о нарушении контроля. В этом случае расширение нужно актуализировать в конфигураторе.
Как проверить результат
Подключено, без значков предупреждений, флаг безопасного режима снят
Предупреждение о безопасном режиме или ошибке подключения
Нет новых ошибок по расширениям после перезапуска
Повторяющиеся ошибки подключения или контроля модулей
Изменённые обработчики и формы работают как задумано
Логика расширения не выполняется, поведение типовое
Частые вопросы
Можно ли обойти ограничение, не снимая безопасный режим?
Нет, запрет на расширение модулей в безопасном режиме встроен в платформу и обхода не имеет. Единственная альтернатива — реализовать нужную логику средствами, разрешёнными в безопасном режиме: подписками на события, дополнительными обработками БСП, расширением форм без изменения кода типовых модулей.
Почему флаг «Безопасный режим» недоступен для редактирования?
Значит, режим навязан извне: профилем безопасности кластера серверов, настройками менеджера сервиса или недостатком прав. Проверьте права пользователя (нужно администрирование расширений) и настройки профиля безопасности информационной базы в консоли кластера.
Опасно ли отключать безопасный режим у расширения?
Да, если расширение получено из недоверенного источника. Расширение модулей даёт коду те же возможности, что и код основной конфигурации: доступ к данным, файлам, сети. Отключайте защиту только для расширений, происхождение и содержимое которых вы проверили.
Расширение работало, а после обновления конфигурации появилась ошибка. Что делать?
Проверьте, не изменилась ли при обновлении настройка безопасного режима, а затем откройте расширение в конфигураторе и выполните проверку применимости. Если типовые методы, которые расширение изменяет, были переименованы или изменены, расширение нужно актуализировать: обновить заимствованные методы и аннотации.
Как узнать, какие модули расширение изменяет?
Откройте расширение в конфигураторе и просмотрите дерево объектов: заимствованные методы с аннотациями &ИзменениеИКонтроль, &Вместо, &Перед, &После находятся в модулях объектов, форм и общих модулях. Также полезен отчёт о сравнении расширения с основной конфигурацией.
Работает ли расширение модулей в тонком и веб-клиенте?
Да, если безопасный режим отключён, изменённые модули применяются во всех клиентах, для которых скомпилирован код. Ограничения касаются только контекста компиляции: серверные методы должны быть в серверных модулях, клиентские — в клиентских.
Что важно запомнить
Ошибка означает, что расширение изменяет модули конфигурации, а безопасный режим это запрещает. Решение — снять флаг безопасного режима у расширения или скорректировать профиль безопасности кластера; в сервисе 1С:Фреш это невозможно, и расширение придётся перерабатывать. Снимайте защиту только с проверенных расширений и проверяйте результат после перезапуска сеанса.