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