Расширение, обработка или вся база работает с ограничениями: что отключить в 1С 8.3

· 10 мин

Содержание

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

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

Какой режим ограничений включился: определяем по симптому

Посмотрите, что именно не работает , и найдите свой случай в таблице.

СимптомМеханизмГде снимается
Расширение подключено, но не может записать файл, вызвать COM-объект, обратиться к внешнему ресурсуБезопасный режим расширенияУправление расширениями или Конфигуратор
При открытии внешней обработки или отчёта появляется окно «Предупреждение безопасности»Защита от опасных действийСвойства пользователя или conf.cfg
Обработка из «Дополнительных отчётов и обработок» падает при работе с файлами или сетьюБезопасный режим БСП и профиль безопасностиКарточка обработки, разрешения, консоль кластера
При входе сообщение «Начало сеансов запрещено» или текст администратора о регламентных работахБлокировка начала сеансовКонсоль кластера, Конфигуратор, 1Cv8.cdn в файловой базе
Обмены, загрузка курсов и почта перестали работать после переноса базыБлокировка регламентных заданий или работы с внешними ресурсамиСвойства базы в кластере, диалог БСП при входе
Диагностика: выберите симптом

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

Расширение в режиме 1С:Предприятие

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

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

Расширение в Конфигураторе

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

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

Защита от опасных действий для внешних обработок

Окно «Предупреждение безопасности» платформа показывает, когда пользователь открывает внешнюю обработку или отчёт через Файл → Открыть. Отключается оно для конкретного пользователя:

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

Если пользователей много или их создаёт программа, удобнее параметр в файле conf.cfg платформы на компьютере пользователя. Файл лежит в каталоге bin\conf установленной версии, например C:\Program Files\1cv8\8.3.24.1342\bin\conf\conf.cfg:

DisableUnsafeActionProtection=.*

Значение — регулярное выражение по строке подключения базы. Вариант .* отключает защиту для всех баз, поэтому лучше ограничить его, например .*Srvr=srv1c.*Ref=buh_main.* для одной серверной базы.

💡 При установке новой версии платформы появляется новый каталог bin\conf. Параметр нужно перенести и туда, иначе предупреждение вернётся после обновления.

Снимаем блокировки через консоль администрирования кластера

Для клиент-серверной базы большая часть ограничений задаётся в свойствах информационной базы на сервере 1С.

Свойства информационной базы

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

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

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

То же из командной строки

Для скриптов и удалённых серверов есть утилита rac, она работает через сервер администрирования ras. Сначала узнайте идентификаторы:

rac cluster list
rac infobase summary list --cluster=<id кластера>

Затем снимите блокировки:

rac infobase update --cluster=<id кластера> --infobase=<id базы> ^
  --infobase-user=Администратор --infobase-pwd=<пароль> ^
  --sessions-deny=off --scheduled-jobs-deny=off

Если версия утилиты не принимает какой-то параметр, сверьтесь со справкой rac help infobase.

Снятие блокировки сеансов во время обновления конфигурации пустит пользователей в базу, которую ещё меняют. Сначала убедитесь, что обновление и реструктуризация закончились.

Файловая база: как снять блокировку без консоли кластера

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

Через программу

  1. Если вы знаете код разрешения, войдите с параметром запуска /UC<код>. В окне запуска: выделите базу, нажмите «Изменить», на последней странице мастера в поле дополнительных параметров запуска впишите /UC12345.
  2. В БП 3.0, ЗУП 3.1 и других конфигурациях на БСП откройте Администрирование → Обслуживание → Блокировка работы пользователей.
  3. Нажмите «Снять блокировку».

Через файл блокировки

Блокировку сеансов файловая база хранит в файле 1Cv8.cdn в каталоге базы — рядом с 1Cv8.1CD. Если код разрешения потерян, а войти нельзя:

  1. Убедитесь, что в базе никто не работает и не идёт обновление.
  2. Закройте все сеансы 1С с этой базой.
  3. Переименуйте 1Cv8.cdn в 1Cv8.cdn.old (переименование надёжнее удаления: можно вернуть).
  4. Запустите базу.

Не путайте 1Cv8.cdn с файлами .1CL и каталогами кэша — их трогать для снятия блокировки не нужно.

Зависшие сеансы и блокировки на стороне СУБД

Иногда блокировку сняли, а база всё равно не пускает или «висит». Причина — зависший сеанс, который держит транзакцию.

Начните с консоли кластера: ветка «Сеансы» у базы показывает пользователей, время начала и приложение. Сеанс, который час висит в режиме «Конфигуратор» или фонового задания, удаляйте командой «Удалить» в контекстном меню.

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

PostgreSQL:

SELECT pid, usename, state, xact_start, left(query, 80)
FROM pg_stat_activity
WHERE datname = 'buh_main'
ORDER BY xact_start;

Microsoft SQL Server:

SELECT session_id, blocking_session_id, status, wait_time, command
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0;

Соединение, которое давно в состоянии idle in transaction (PostgreSQL) или блокирует другие сессии (SQL Server), можно завершить: SELECT pg_terminate_backend(<pid>); или KILL <session_id>;.

Завершение соединения в СУБД откатывает незаписанную транзакцию и обрывает сеанс пользователя 1С. Делайте это вне рабочего времени или после предупреждения пользователей.

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

Безопасный режим в коде: отладка обработок и расширений

Разработчику важно понимать, как безопасный режим ведёт себя в коде.

  • 🔒 Платформа сама включает безопасный режим для внешних обработок и расширений с соответствующим флажком.
  • 🔒 Код включает его вызовом УстановитьБезопасныйРежим(Истина). Режим действует до выхода из процедуры, где он был установлен.
  • 🚫 Вызов УстановитьБезопасныйРежим(Ложь) не отключает режим, который включила платформа или вызывающий код. Снять ограничение из самой обработки нельзя.
  • 🔍 Функция БезопасныйРежим() показывает текущее состояние: Ложь или значение, отличное от Ложь (Истина либо имя профиля безопасности).

Как найти место, где режим мешает:

  1. Запустите базу из Конфигуратора с отладкой (Отладка → Начать отладку).
  2. Поставьте точку останова перед проблемной операцией: работой с файлом, Новый COMОбъект, запуском приложения.
  3. В табло вычислите БезопасныйРежим().
  4. Если результат не Ложь, решение — в настройках расширения, обработки или профиля безопасности, а не в коде.

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

Перенос или восстановление базы: блокировка работы с внешними ресурсами

Отдельный случай, который тоже называют «ограниченным режимом». Конфигурации на БСП при первом запуске копии базы — после восстановления из резервной копии или переноса на другой сервер — блокируют работу с внешними ресурсами. Перестают идти обмены, загрузка курсов валют, отправка почты.

Администратор при входе видит вопрос: это копия базы или база перенесена.

Ваш случайЧто выбратьРезультат
Тестовая копия рабочей базыОставить блокировкуКопия не отправит отчёты и не запустит обмен вместо рабочей базы
Базу перенесли на новый сервер, старая отключенаРазрешить работу с внешними ресурсамиОбмены и регламентные задания снова работают

💡 Если выбрали «копию» по ошибке, войдите под администратором ещё раз: программа покажет предупреждение о блокировке со ссылкой, по которой её можно снять.

Для серверной базы после восстановления дополнительно проверьте флажок «Блокировка регламентных заданий включена» в свойствах базы в кластере. Его часто ставят сознательно при развёртывании тестовой копии.

Как не попадать в режим ограничений снова

  • 📌 Тестовые копии. Создавайте их с включённой блокировкой регламентных заданий и не снимайте её. Иначе копия начнёт выгружать данные в рабочие узлы обмена.
  • 📌 Обновления. Блокировку сеансов ставьте с кодом разрешения и записывайте код. Тогда потерянная блокировка не превратится в поиск 1Cv8.cdn.
  • 📌 Расширения. Держите безопасный режим включённым у всего, что не требует доступа к файлам и COM. Отключайте точечно и фиксируйте, у какого расширения и почему.
  • 📌 Профили безопасности. Вместо очистки профиля добавляйте в него конкретные каталоги и адреса.
  • 📌 Кластер. В свойствах рабочего сервера и кластера настройте перезапуск рабочих процессов и принудительное завершение проблемных процессов. Тогда зависший процесс не будет держать сеансы и транзакции часами.
  • 📌 Права. Флажки «Безопасный режим» и «Защита от опасных действий» может менять только пользователь с административными правами. Не выдавайте их тем, кому это не нужно.
После снятия ограничений проверьте
Выполнено: 0 / 5

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

Почему флажок «Безопасный режим» у расширения не снимается?
Флажок меняет только пользователь с административными правами. Если расширение в типовой конфигурации загружено через БСП, проверьте его и в разделе расширений самой программы.
Можно ли отключить безопасный режим для всех расширений сразу?
Единого переключателя нет. Флажок ставится у каждого расширения отдельно.
Влияет ли снятие безопасного режима на обновление конфигурации?
Нет. Расширение остаётся отдельным объектом, флажок не меняет основную конфигурацию. После обновления проверьте, что расширение по-прежнему применяется.
Что делать, если пропал пароль администратора базы и в свойства базы в консоли не войти?
Блокировки в консоли меняют с учётными данными администратора информационной базы. Восстанавливайте доступ через администратора сервера или резервную копию, а не пересозданием базы в кластере.
Безопасно ли оставить DisableUnsafeActionProtection со значением .* навсегда?
Это снимает предупреждение для любых файлов и баз на этом компьютере. Для рабочих мест бухгалтеров лучше ограничить выражение конкретными базами.