Расширение или обработка работает в безопасном режиме: как снять ограничение

· 9 мин

Содержание

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

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

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

Под словами «безопасный режим» в 1С 8.3 скрываются несколько разных механизмов. Сначала определите, с каким из них вы столкнулись: способы отключения у них разные.

МеханизмГде проявляетсяГде отключается
🧩 Безопасный режим расширенияКод расширения не может работать с файлами, COM, внешними компонентами, запускать программыСвойства расширения (Конфигуратор или «Управление расширениями»)
📄 Безопасный режим внешней обработкиДополнительная обработка в БСП-конфигурации не выполняет «опасные» операцииСама обработка, разрешения и профили безопасности
🛡 Защита от опасных действийПредупреждение при открытии внешнего отчёта, обработки или расширенияСвойства пользователя ИБ или conf.cfg
🖥 Профиль безопасности кластераОграничения на сервере 1С для всей базы или для кода в безопасном режимеКонсоль администрирования серверов
💻 Программный безопасный режимМетод УстановитьБезопасныйРежим(Истина) в коде конфигурацииТолько правкой кода

Безопасный режим Windows здесь ни при чём. Если компьютер загружен в безопасном режиме ОС, 1С может не стартовать из‑за отключённых служб и драйверов защиты. Это решается перезагрузкой Windows в обычном режиме.

Почему 1С ограничивает функциональность

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

  • 📁 читать и записывать файлы на диске;
  • ⚙️ запускать внешние программы и создавать COM-объекты;
  • 🔌 подключать внешние компоненты;
  • 🌐 обращаться к части интернет-ресурсов;
  • 🔐 включать привилегированный режим.

Отсюда типичные причины, по которым функция «вдруг» перестала работать:

  • 🧩 расширение загрузили заново, и при загрузке флажок «Безопасный режим» снова встал по умолчанию;
  • 👤 расширение добавлял пользователь без права «Администрирование» — снять ограничение он не может, даже если видит флажок;
  • 📄 автор внешней обработки указал в ней работу в безопасном режиме, а сама обработка пишет в файл;
  • 🖥 администратор сервера назначил базе профиль безопасности, и ограничения применяются ко всем сеансам;
  • 🔄 после обновления конфигурации или платформы изменились настройки профилей безопасности в программе.

Где искать причину: текст ошибки и журнал регистрации

Прежде чем что-то отключать, найдите, какой именно код упёрся в ограничение. От этого зависит, где снимать флажок.

  1. Повторите действие, на котором возникает ошибка.
  2. В окне ошибки нажмите ссылку подробного описания. В тексте будет имя модуля: если в нём фигурирует имя расширения или внешней обработки, проблема в их свойствах.
  3. Откройте журнал регистрации: в БСП-конфигурациях Администрирование → Обслуживание → Журнал регистрации, в Конфигураторе Администрирование → Журнал регистрации.
  4. Установите отбор по уровню «Ошибка» и по интервалу времени, когда воспроизводили сбой.
  5. В событии посмотрите поля «Пользователь», «Метаданные» и «Комментарий» — там видно, какой объект вызвал запрет.

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

Для клиент-серверной базы полезно включить технологический журнал на сервере 1С. Он покажет исключения рабочего процесса подробнее, чем журнал регистрации. Настраивают его файлом logcfg.xml в каталоге conf платформы.

Диагностика: выберите симптом

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

Это самый частый случай. Флажок можно снять двумя способами — выберите тот, к которому у вас есть доступ.

Способ 1. Через Конфигуратор

  1. Запустите базу в режиме Конфигуратор под администратором.
  2. Откройте Конфигурация → Расширения конфигурации.
  3. В списке найдите нужное расширение. Справа видны колонки с флажками «Активно», «Безопасный режим», «Защита от опасных действий».
  4. Снимите флажок «Безопасный режим».
  5. Если расширение меняет структуру данных, выполните Конфигурация → Обновить конфигурацию базы данных (F7).
  6. Пользователям нужно перезайти в программу — изменения применяются к новым сеансам.

Способ 2. В режиме 1С:Предприятие

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

В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) есть и своя форма: Администрирование → Печатные формы, отчеты и обработки → Расширения. В ней тоже видно, в каком режиме работает каждое расширение.

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

СпособКогда подходитЧто учесть
КонфигураторЕсть доступ администратора к КонфигураторуМожно сразу обновить конфигурацию БД
Управление расширениямиРаботаете в пользовательском режиме, Конфигуратор недоступенНужно право «Администрирование»
Форма «Расширения» БСПТиповые конфигурации, расширение ставили через эту формуУдобно видеть все расширения списком

Внешние и дополнительные обработки в безопасном режиме

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

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

Что делать на практике:

  1. Откройте карточку обработки в справочнике «Дополнительные отчеты и обработки» (Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки).
  2. Посмотрите, в каком режиме она зарегистрирована и какие разрешения запрашивает.
  3. Если обработке нужна работа с файлами, а она объявлена безопасной, — попросите разработчика выпустить версию с БезопасныйРежим = Ложь и списком разрешений.
  4. Загрузите новую версию через команду обновления из файла в той же карточке.

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

Внешнюю обработку, которую открывают через Файл → Открыть, справочник не контролирует. Для неё срабатывает защита от опасных действий — следующий раздел.

Защита от опасных действий: свойства пользователя и conf.cfg

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

Для одного пользователя

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

Для всех баз на компьютере

Платформа читает файл conf.cfg в каталоге conf установленной версии, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\conf.cfg. Добавьте в него строку с параметром DisableUnsafeActionProtection. Значение — регулярное выражение для строки соединения с базой:

DisableUnsafeActionProtection=.*Srvr=.*app1c.*Ref=.*buh.*

Пример отключает предупреждение только для базы buh на сервере app1c. Значение .* отключит защиту для всех баз — так делать не стоит.

Файл conf.cfg относится к конкретной версии платформы. После установки новой версии строку придётся добавить заново в её каталог conf.

Профили безопасности в консоли администрирования сервера

В клиент-серверном варианте ограничения может задавать сам сервер 1С. Для этого в кластере создают профили безопасности и назначают их базам.

Как проверить:

  1. Откройте консоль администрирования серверов 1С:Предприятия под администратором кластера.
  2. Разверните Центральные серверы 1С:Предприятия → <сервер> → Кластеры → <кластер> → Информационные базы.
  3. Откройте свойства нужной базы.
  4. Найдите поля «Профиль безопасности» и «Профиль безопасности безопасного режима».

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

Варианты решения:

  • ✅ Правильный — в разделе «Профили безопасности» кластера открыть профиль и добавить нужное разрешение: каталог файловой системы, COM-класс, внешнюю компоненту, приложение или интернет-ресурс.
  • ⚠️ Радикальный — очистить поле профиля в свойствах базы. Тогда сервер перестанет ограничивать базу совсем.

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

Нет пароля администратора кластера — не пересоздавайте кластер. Обратитесь к администратору сервера: изменение профиля требует именно его прав.

Если не помогло: кэш, параметры запуска и проверка базы

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

Очистка кэша

  1. Закройте 1С на этом компьютере.
  2. В окне запуска выберите базу → Изменить → на последней странице мастера в поле «Дополнительные параметры запуска» впишите /ClearCache.
  3. Запустите базу. После успешного входа параметр можно убрать.

Вручную кэш лежит в каталогах %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Папки с длинными именами-идентификаторами — это кэши баз, их можно удалить при закрытой программе. Список баз хранится в файле ibases.v8i — его не трогайте.

Параметры запуска

Проверьте, нет ли в «Дополнительных параметрах запуска» или в ярлыке лишних ключей, которые добавлял кто-то до вас. Если не уверены, что параметр нужен, удалите его из копии записи базы и сравните поведение.

Проверка и обновление конфигурации

  • 🔄 Обновите платформу до версии, которую требует релиз конфигурации. Номер нужной версии указан в описании релиза.
  • 🔄 Обновите расширение, если разработчик выпустил версию под ваш релиз конфигурации.
  • 🛠 Если ошибки связаны с повреждением данных, запустите Администрирование → Тестирование и исправление в Конфигураторе. Для этой операции нужен монопольный доступ — все пользователи должны выйти из базы. Резервная копия перед запуском обязательна.
Перед тем как снять безопасный режим
Выполнено: 0 / 5

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

Почему флажок «Безопасный режим» снова включился после обновления расширения?
При повторной загрузке файла .cfe расширение получает настройки по умолчанию. Проверяйте флажок после каждой загрузки новой версии.
Можно ли снять безопасный режим из кода?
Безопасный режим, включённый методом УстановитьБезопасныйРежим(Истина), действует до конца вызова, и отключить его в том же вызове нельзя. Правят код, который его включает.
Пользователь видит флажок, но снять его не может. Почему?
Отключать безопасный режим расширения разрешено только пользователю с правом «Администрирование». Обычному пользователю платформа не даст это сделать.
Влияет ли безопасный режим на файловую базу?
Да. Ограничения расширений и внешних обработок действуют и в файловой базе. Профили безопасности кластера — только в клиент-серверной.
Безопасно ли отключить защиту от опасных действий для всех пользователей?
Нет. Без предупреждения любой пользователь откроет внешнюю обработку с вредным кодом. Отключайте защиту точечно: для администраторов или для конкретной базы.