Расширение, обработка или вся база работает с ограничениями: что отключить в 1С 8.3
Содержание
Чтобы снять безопасный режим с расширения в 1С 8.3, откройте Все функции → Стандартные → Управление расширениями конфигурации, выделите расширение и снимите флажок «Безопасный режим», затем перезапустите 1С. Для внешней обработки, которая при каждом открытии показывает «Предупреждение безопасности», нужен другой флажок: «Защита от опасных действий» в карточке пользователя.
Частая ошибка — искать одну кнопку «выйти из безопасного режима» для всей базы. Такой кнопки нет. Под словами «безопасный режим» пользователи понимают пять разных механизмов: ограничения расширения, защиту от опасных действий, профиль безопасности кластера, блокировку сеансов и блокировку регламентных заданий. Снимаются они в разных местах, поэтому сначала определите, какой из них сработал.
Какой режим ограничений включился: определяем по симптому
Посмотрите, что именно не работает , и найдите свой случай в таблице.
| Симптом | Механизм | Где снимается |
|---|---|---|
| Расширение подключено, но не может записать файл, вызвать COM-объект, обратиться к внешнему ресурсу | Безопасный режим расширения | Управление расширениями или Конфигуратор |
| При открытии внешней обработки или отчёта появляется окно «Предупреждение безопасности» | Защита от опасных действий | Свойства пользователя или conf.cfg |
| Обработка из «Дополнительных отчётов и обработок» падает при работе с файлами или сетью | Безопасный режим БСП и профиль безопасности | Карточка обработки, разрешения, консоль кластера |
| При входе сообщение «Начало сеансов запрещено» или текст администратора о регламентных работах | Блокировка начала сеансов | Консоль кластера, Конфигуратор, 1Cv8.cdn в файловой базе |
| Обмены, загрузка курсов и почта перестали работать после переноса базы | Блокировка регламентных заданий или работы с внешними ресурсами | Свойства базы в кластере, диалог БСП при входе |
Как отключить безопасный режим расширения и защиту от опасных действий
Расширение в режиме 1С:Предприятие
- Войдите в базу пользователем с полными правами.
- Откройте
Все функции → Стандартные → Управление расширениями конфигурации. Если пункта «Все функции» нет, включите флажок «Отображать команду «Все функции»» вГлавное меню → Сервис → Параметры. - Выделите нужное расширение.
- Снимите флажок «Безопасный режим». Рядом стоит флажок «Защита от опасных действий» — его можно снять там же.
- Закройте 1С и откройте снова: флажки применяются при новом сеансе.
В типовых конфигурациях на БСП список расширений есть и в разделе Администрирование → Печатные формы, отчеты и обработки → Расширения. Там при загрузке нового расширения программа спрашивает, подключать ли его в безопасном режиме.
Расширение в Конфигураторе
- Откройте базу в Конфигураторе.
- Выберите
Конфигурация → Расширения конфигурации. - В списке у расширения есть колонки-флажки, среди них «Безопасный режим» и «Защита от опасных действий». Снимите нужный.
- Обновите конфигурацию базы данных, если Конфигуратор это предложит, и перезапустите пользователей.
Безопасный режим — это не помеха, а защита. Расширение без него получает те же права, что и основная конфигурация: может читать и удалять файлы на сервере, запускать программы. Снимайте флажок только с расширений, код которых вы проверили или получили от известного разработчика.
Защита от опасных действий для внешних обработок
Окно «Предупреждение безопасности» платформа показывает, когда пользователь открывает внешнюю обработку
или отчёт через Файл → Открыть. Отключается оно для конкретного пользователя:
- В Конфигураторе откройте
Администрирование → Пользователи. - Откройте карточку пользователя.
- Снимите флажок «Защита от опасных действий» и запишите.
Если пользователей много или их создаёт программа, удобнее параметр в файле 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С Предприятия».
- Раскройте
Центральные серверы → имя сервера → Кластеры → кластер → Информационные базы. - Правой кнопкой по базе — «Свойства». Консоль попросит логин и пароль администратора этой базы.
- Проверьте поля:
- «Блокировка начала сеансов включена» — снимите, если пользователи не могут войти;
- «Блокировка регламентных заданий включена» — снимите, если не работают обмены и фоновые задачи;
- «Профиль безопасности» и «Профиль безопасности безопасного режима» — если заполнены, база и её внешние модули ограничены этим профилем.
- Нажмите «ОК».
Профили безопасности
Профили лежат в ветке кластера «Профили безопасности». В профиле перечислено, к каким каталогам, 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.
Снятие блокировки сеансов во время обновления конфигурации пустит пользователей в базу, которую ещё меняют. Сначала убедитесь, что обновление и реструктуризация закончились.
Файловая база: как снять блокировку без консоли кластера
У файловой базы нет кластера и профилей безопасности. Ограничения расширений и защита от опасных действий снимаются так же, как описано выше. Отличается только блокировка сеансов.
Через программу
- Если вы знаете код разрешения, войдите с параметром запуска
/UC<код>. В окне запуска: выделите базу, нажмите «Изменить», на последней странице мастера в поле дополнительных параметров запуска впишите/UC12345. - В БП 3.0, ЗУП 3.1 и других конфигурациях на БСП откройте
Администрирование → Обслуживание → Блокировка работы пользователей. - Нажмите «Снять блокировку».
Через файл блокировки
Блокировку сеансов файловая база хранит в файле 1Cv8.cdn в каталоге базы — рядом с 1Cv8.1CD. Если код разрешения потерян, а войти нельзя:
- Убедитесь, что в базе никто не работает и не идёт обновление.
- Закройте все сеансы 1С с этой базой.
- Переименуйте
1Cv8.cdnв1Cv8.cdn.old(переименование надёжнее удаления: можно вернуть). - Запустите базу.
Не путайте 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С хранятся в менеджере кластера, а не в таблицах базы. Прямая правка таблиц ничего не снимет, зато может испортить базу.
Безопасный режим в коде: отладка обработок и расширений
Разработчику важно понимать, как безопасный режим ведёт себя в коде.
- 🔒 Платформа сама включает безопасный режим для внешних обработок и расширений с соответствующим флажком.
- 🔒 Код включает его вызовом
УстановитьБезопасныйРежим(Истина). Режим действует до выхода из процедуры, где он был установлен. - 🚫 Вызов
УстановитьБезопасныйРежим(Ложь)не отключает режим, который включила платформа или вызывающий код. Снять ограничение из самой обработки нельзя. - 🔍 Функция
БезопасныйРежим()показывает текущее состояние:Ложьили значение, отличное отЛожь(Истина либо имя профиля безопасности).
Как найти место, где режим мешает:
- Запустите базу из Конфигуратора с отладкой (
Отладка → Начать отладку). - Поставьте точку останова перед проблемной операцией: работой с файлом,
Новый COMОбъект, запуском приложения. - В табло вычислите
БезопасныйРежим(). - Если результат не
Ложь, решение — в настройках расширения, обработки или профиля безопасности, а не в коде.
В конфигурациях на БСП дополнительные обработки получают права через запросы разрешений. При регистрации обработки администратор видит список ресурсов, которые она просит, и подтверждает их. Если разрешения не выданы, обработка работает в безопасном режиме и падает на первой же операции с файлом. Перерегистрируйте её в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки и подтвердите запросы.
Перенос или восстановление базы: блокировка работы с внешними ресурсами
Отдельный случай, который тоже называют «ограниченным режимом». Конфигурации на БСП при первом запуске копии базы — после восстановления из резервной копии или переноса на другой сервер — блокируют работу с внешними ресурсами. Перестают идти обмены, загрузка курсов валют, отправка почты.
Администратор при входе видит вопрос: это копия базы или база перенесена.
| Ваш случай | Что выбрать | Результат |
|---|---|---|
| Тестовая копия рабочей базы | Оставить блокировку | Копия не отправит отчёты и не запустит обмен вместо рабочей базы |
| Базу перенесли на новый сервер, старая отключена | Разрешить работу с внешними ресурсами | Обмены и регламентные задания снова работают |
💡 Если выбрали «копию» по ошибке, войдите под администратором ещё раз: программа покажет предупреждение о блокировке со ссылкой, по которой её можно снять.
Для серверной базы после восстановления дополнительно проверьте флажок «Блокировка регламентных заданий включена» в свойствах базы в кластере. Его часто ставят сознательно при развёртывании тестовой копии.
Как не попадать в режим ограничений снова
- 📌 Тестовые копии. Создавайте их с включённой блокировкой регламентных заданий и не снимайте её. Иначе копия начнёт выгружать данные в рабочие узлы обмена.
- 📌 Обновления. Блокировку сеансов ставьте с кодом разрешения и записывайте код. Тогда потерянная блокировка не превратится в поиск
1Cv8.cdn. - 📌 Расширения. Держите безопасный режим включённым у всего, что не требует доступа к файлам и COM. Отключайте точечно и фиксируйте, у какого расширения и почему.
- 📌 Профили безопасности. Вместо очистки профиля добавляйте в него конкретные каталоги и адреса.
- 📌 Кластер. В свойствах рабочего сервера и кластера настройте перезапуск рабочих процессов и принудительное завершение проблемных процессов. Тогда зависший процесс не будет держать сеансы и транзакции часами.
- 📌 Права. Флажки «Безопасный режим» и «Защита от опасных действий» может менять только пользователь с административными правами. Не выдавайте их тем, кому это не нужно.