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

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

Как запретить вход в 1С всем пользователям

Как запретить вход в 1С всем пользователям: блокировка соединений через консоль кластера, параметр «Блокировка сеансов», завершение активных сеансов и снятие запрета.

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

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

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

Когда нужно блокировать вход всех пользователей

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

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

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

Маршрут решения

Как выбрать способ блокировки

База работает в клиент-серверном режимеИспользуйте консоль администрирования серверов 1С — свойство «Блокировка сеансов» у информационной базы
База файловая и построена на управляемом приложении (УТ, ERP, БП 3.0)Используйте встроенную обработку «Блокировка установки соединений» в разделе администрирования
Файловая база без типовых механизмов или нужен запрет извнеЗапустите конфигуратор с параметром /UC и кодом разрешения или установите блокировку кодом через УстановитьБлокировкуСеансов

Блокировка сеансов в клиент-серверном режиме

Основной инструмент — консоль администрирования серверов 1С (1CV8 Servers.msc или консоль на сервере). Откройте консоль, разверните дерево «Центральные серверы 1С:Предприятия», найдите нужный кластер и раскройте узел «Информационные базы». Выберите базу, откройте контекстное меню и перейдите в «Свойства».

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

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

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

Завершение активных сеансов пользователей

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

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

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

Блокировка входа в файловой базе

В файловом режиме нет консоли кластера, поэтому используются другие механизмы. Если конфигурация построена на Библиотеке стандартных подсистем (БСП) — это практически все современные типовые решения: 1С:Бухгалтерия 3.0, УТ 11, ERP, ЗУП — в разделе «Администрирование» есть пункт «Обслуживание», где находится «Блокировка работы пользователей». Установите флажок, укажите период и сообщение — механизм сам запретит новые входы и за несколько минут до начала предупредит работающих пользователей.

Альтернатива — параметр запуска конфигуратора /UC с кодом. При запуске конфигуратора с этим параметром к файловой базе устанавливается исключительный доступ, и другие пользователи не смогут подключиться, пока конфигуратор открыт. Это удобно для коротких работ, но требует, чтобы конфигуратор оставался запущенным.

Третий вариант — программный. Через внешнюю обработку или консоль кода выполните метод УстановитьБлокировкуСеансов с параметрами (время начала, окончания, сообщение, код разрешения). Блокировка сохранится в базе и будет действовать в указанный интервал независимо от того, открыта ли обработка.

1c
Блокировка = Новый БлокировкаСеансов;
Блокировка.Установлена = Истина;
Блокировка.Начало = ТекущаяДатаСеанса();
Блокировка.Конец = ТекущаяДатаСеанса() + 3600;
Блокировка.Сообщение = "Выполняется обновление базы";
Блокировка.КодРазрешения = "12345";
УстановитьБлокировкуСеансов(Блокировка);

Как войти в заблокированную базу администратору

Блокировка действует на всех, включая администратора, поэтому для своего входа используется код разрешения. В клиент-серверном режиме запустите толстый или тонкий клиент с параметром /UC и кодом: например, в ярлыке после пути к базе добавьте /UC12345. В файловом режиме при входе через типовой механизм система сама предложит ввести код разрешения, если он задан.

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

Учтите: параметр /UC в клиент-серверном режиме проверяется сервером, поэтому опечатка в коде даст обычный отказ во входе с текстом сообщения о блокировке. Храните код разрешения в доступном для администраторов месте, но не публикуйте его для всех пользователей.

Типичные ошибки
01
Не указано время начала и конца блокировки — запрет либо не включается, либо действует неожиданно долго
02
Забыта блокировка регламентных заданий — фоновые задачи продолжают изменять данные во время обновления
03
Блокировка установлена, но активные сеансы не завершены — пользователи продолжают работать, а обновление падает с ошибкой монопольного доступа
04
Код разрешения не записан — после блокировки администратор не может войти в базу для проведения работ
05
Блокировку забыли снять после завершения работ — утром пользователи не могут войти и работа компании останавливается

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

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

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

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

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

Вход под обычным пользователем
Норма

Появляется заданное сообщение о блокировке, вход невозможен

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

Пользователь входит в базу — блокировка не установлена или не в той базе

Список сеансов в консоли кластера
Норма

Нет активных сеансов пользователей и фоновых заданий

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

Сеансы появляются снова — кто-то входит с кодом разрешения или блокировка снята

Вход администратора с параметром /UC
Норма

Вход выполняется с кодом разрешения

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

Ошибка входа — проверьте правильность кода и синтаксис параметра

После снятия блокировки
Норма

Пользователи входят штатно, регламентные задания выполняются

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

Вход по-прежнему закрыт — блокировка не снята или указано будущее время окончания

Ответы на частые вопросы

Что увидит пользователь при попытке войти в заблокированную базу?

Он получит окно с текстом, который администратор указал в поле «Сообщение» при установке блокировки. Если текст не задан, отобразится стандартное уведомление о том, что работа с информационной базой запрещена. Поэтому всегда заполняйте сообщение с указанием причины и ориентировочного времени окончания работ.

Блокирует ли запрет входа веб-сервисы и внешние подключения?

Блокировка сеансов в клиент-серверном режиме действует на все типы сеансов, включая подключения через веб-сервисы, HTTP-сервисы и COM-соединения. Однако план обмена и интеграции могут накапливать ошибки, пока база заблокирована. Если внешние системы активно обращаются к базе, предупредите их владельцев или отключите публикации на время работ.

Можно ли заблокировать вход только части пользователей?

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

Что делать, если блокировка установлена, а пользователи всё равно заходят?

Проверьте, что блокировка установлена именно для той базы, в которую входят пользователи (в кластере может быть несколько похожих баз). Убедитесь, что время начала блокировки уже наступило, а время окончания не прошло. Также проверьте, не входят ли пользователи с кодом разрешения — тогда смените код и не сообщайте его лишним.

Как автоматизировать блокировку перед ночным обновлением?

Используйте пакетный запуск агента сервера или скрипты через RAS (сервер администрирования) и утилиту rac: команда rac infobase update позволяет установить блокировку сеансов с нужными параметрами из скрипта. В файловом режиме можно заранее запланировать блокировку типовым механизмом, указав время начала в будущем.

Опасна ли принудительная блокировка для целостности данных?

Сама установка блокировки данных не повреждает. Риск связан с принудительным завершением активных сеансов: оборванная транзакция откатывается СУБД, поэтому база остаётся согласованной, но несохранённые изменения пользователя теряются. Перед завершением сеансов дайте пользователям время завершить работу штатно.

Итог

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

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