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

Администрирование · 10 мин

Как проверить, включён ли безопасный режим в 1С

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

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

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

Проверка безопасного режима программным способом

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

Для быстрой проверки удобно вывести результат пользователю или в сообщение:

bsl
Если БезопасныйРежим() Тогда
    Сообщить("Код выполняется в безопасном режиме");
Иначе
    Сообщить("Безопасный режим отключён");
КонецЕсли;

Есть и вторая функция — БезопасныйРежимРазделенияДанных(), которая проверяет безопасный режим разделителей в SaaS-модели. Она нужна реже, в основном при работе с сервисами вроде облачных фреш-версий. Не путайте её с обычной проверкой: это разные механизмы с разным назначением.

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

Как проверить безопасный режим расширения конфигурации

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

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

Если флажок «Безопасный режим» установлен, расширение не сможет обращаться к файловой системе сервера, запускать приложения и использовать COM-объекты. Снятие флажка доступно только пользователям с правами администратора и требует осознанного решения: расширение получит полный доступ к системе.

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

Косвенные признаки безопасного режима при работе обработок

Когда функцию проверки вызвать нельзя (например, вы не разработчик, а пользователь), ориентируйтесь на симптомы. Типичный признак — ошибка с текстом вида «Операция не разрешена в безопасном режиме» или «В безопасном режиме данная операция запрещена». Она появляется при попытке кода прочитать файл, создать COM-объект или запустить приложение.

Ошибка доступа к файлу«Операция не разрешена»

Обработка пытается прочитать или записать файл на диске

Сбой COM/OLEОшибка создания объекта

Код пытается создать COM-объект, например Excel.Application

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

Вызов ЗапуститьПриложение или КомандаСистемы отклонён платформой

Не грузится компонентаВнешняя компонента недоступна

Загрузка DLL из расширения или обработки запрещена

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

Проверка через журнал регистрации и технологический журнал

Журнал регистрации фиксирует ошибки, возникающие при исполнении кода. Откройте его через «Администрирование» → «Журнал регистрации» (или в конфигураторе: «Администрирование» → «Журнал регистрации») и отфильтруйте по пользователю и периоду, когда возникала проблема. Ищите события с текстом про безопасный режим или запрещённые операции.

Для глубокой диагностики на сервере 1С используется технологический журнал. В нём можно отследить события исполнения кода и исключения, связанные с ограничениями. Это инструмент администратора: настройка выполняется через файл logcfg.xml, анализ требует понимания формата событий.

Безопасный режим и профили безопасности кластера

В клиент-серверном варианте работает второй уровень ограничений — профили безопасности в консоли кластера. Даже если в коде безопасный режим выключен, администратор кластера может запретить файловый доступ, COM, интернет-ресурсы и внешние компоненты на уровне сервера. Проверить это можно в консоли администрирования серверов 1С: откройте ветку «Профили безопасности» и посмотрите список разрешений.

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

Что именно ограничивает код

Безопасный режим платформы

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

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

Настраивается администратором сервера. Действует на весь сервер или отдельные объекты. Снимается только в консоли кластера

Защита от опасных действий

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

Типичные ошибки при проверке и отключении режима

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

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

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

Контрольные точки

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

Вызов БезопасныйРежим() в проблемном коде
Норма

Возвращает ожидаемое значение для данного контекста

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

Результат отличается от ожидания — ищите, кто включает режим

Работа обработки после изменения настроек
Норма

Операции с файлами и объектами выполняются без ошибок

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

Ошибки сохраняются — вероятно, действует профиль кластера

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

Нет новых ошибок о запрещённых операциях

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

Ошибки продолжают появляться — ограничение не снято

Часто задаваемые вопросы

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

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

Почему функция БезопасныйРежим() возвращает Ложь, а операции всё равно блокируются?

Скорее всего, работает профиль безопасности кластера серверов. Он ограничивает операции независимо от встроенного безопасного режима, и функция его не отражает. Проверьте настройки профилей в консоли администрирования серверов 1С.

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

Да, если источник расширения не проверен. Без ограничений код получает доступ к файловой системе сервера, может запускать программы и передавать данные. Снимайте режим только с расширений, код которых вы или ваш специалист проанализировали.

Как узнать, какое расширение вызывает ошибку безопасного режима?

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

Работает ли безопасный режим в файловой базе?

Да, встроенный безопасный режим платформы действует и в файловом варианте — для внешних обработок и расширений. А вот профили безопасности доступны только в клиент-серверном варианте, поскольку настраиваются на уровне кластера.

Чем безопасный режим отличается от защиты от опасных действий?

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

Итог

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

Точную проверку даёт функция БезопасныйРежим(), для расширений — флажок в их свойствах. Косвенные признаки: ошибки «операция не разрешена» и сбои доступа к файлам и COM. В клиент-серверном варианте дополнительно проверяйте профили безопасности кластера. Не снимайте ограничения с непроверенного кода.