Администрирование · 11 мин
Как запретить вход в 1С всем пользователям
Как запретить вход в 1С всем пользователям: блокировка соединений через консоль кластера, параметр «Блокировка сеансов», завершение активных сеансов и снятие запрета.
Запрет входа всех пользователей в базу 1С — стандартная операция, которая нужна перед обновлением конфигурации, загрузкой данных, регламентным обслуживанием SQL-сервера или восстановлением из копии. Если пользователи останутся в базе, обновление может завершиться ошибкой, а данные — оказаться в несогласованном состоянии. Поэтому администратор сначала блокирует новые подключения, затем завершает активные сеансы и только после этого выполняет работы.
Способ блокировки зависит от режима работы базы. В клиент-серверном варианте основной инструмент — консоль администрирования серверов 1С и свойство «Блокировка сеансов» у информационной базы. В файловом варианте используют параметр запуска, встроенную обработку «Блокировка установки соединений с информационной базой» из типовых конфигураций или программную установку константы через код на встроенном языке.
Ниже разобраны оба сценария, команды для пакетного режима, проверка результата и типичные ошибки, из-за которых пользователи продолжают заходить в базу даже после установки запрета.
Когда нужно блокировать вход всех пользователей
Полная блокировка базы требуется не так часто, но в ряде ситуаций она обязательна. Пропуск этого шага приводит к ошибкам обновления, оборванным транзакциям и жалобам пользователей на внезапное завершение работы.
Типовые ситуации: обновление конфигурации с реструктуризацией данных, загрузка или выгрузка базы через конфигуратор, обслуживание СУБД (реиндексация, обновление статистики), переход на новую версию платформы, восстановление из резервной копии и массовая загрузка данных из внешних систем, при которой пользователи не должны видеть промежуточные результаты.
Отдельный случай — аварийная блокировка. Если обнаружено повреждение данных или подозрение на несанкционированный доступ, базу блокируют немедленно, чтобы пресечь дальнейшие изменения до разбирательства.
Как выбрать способ блокировки
Блокировка сеансов в клиент-серверном режиме
Основной инструмент — консоль администрирования серверов 1С (1CV8 Servers.msc или консоль на сервере). Откройте консоль, разверните дерево «Центральные серверы 1С:Предприятия», найдите нужный кластер и раскройте узел «Информационные базы». Выберите базу, откройте контекстное меню и перейдите в «Свойства».
В окне свойств установите флажок «Блокировка сеансов включена». Обязательно заполните поля «Начало» и «Конец» — интервал, в течение которого блокировка действует. Если оставить время пустым, блокировка может не сработать или сработать непредсказуемо. В поле «Сообщение» впишите текст, который увидят пользователи при попытке входа, например: «Выполняется обновление базы, вход будет доступен после 14:00».
Поле «Код разрешения» позволяет задать пароль, с которым отдельные пользователи (например, сам администратор) смогут войти в заблокированную базу, указав параметр запуска /UC с этим кодом. Флажок «Блокировка регламентных заданий включена» останавливает выполнение фоновых задач — это важно при обновлении, чтобы регламентные операции не изменяли данные параллельно с реструктуризацией.
- 1Откройте консоль администрирования серверов 1С и найдите информационную базу в списке кластера
- 2Откройте свойства базы и включите «Блокировка сеансов»
- 3Укажите время начала и окончания блокировки, сообщение для пользователей и код разрешения
- 4Включите блокировку регламентных заданий, если планируется обновление
- 5Сохраните свойства и дождитесь завершения активных сеансов или завершите их принудительно
- 6Проверьте в списке сеансов, что база пуста, и приступайте к работам
Завершение активных сеансов пользователей
Блокировка сеансов запрещает только новые подключения — те, кто уже работает в базе, останутся в ней. Поэтому после установки запрета нужно завершить активные сеансы. В консоли кластера откройте узел «Сеансы» для выбранной базы, выделите все сеансы пользователей и выберите в контекстном меню «Удалить». Сеансы фоновых заданий завершатся вместе с блокировкой регламентных заданий или их можно удалить вручную.
Удаление сеанса — принудительное завершение: несохранённые данные пользователя будут потеряны. Поэтому перед массовым завершением предупредите сотрудников заранее — рассылкой, сообщением в корпоративном чате или заранее установленной блокировкой с текстом, который виден при попытке входа. В типовых конфигурациях есть механизм, который за N минут до начала блокировки выводит пользователям предупреждение и предлагает завершить работу.
После удаления сеансов обновите список и убедитесь, что остались только служебные сеансы (например, сеанс консоли кластера не отображается как сеанс базы, а соединения пула могут оставаться — они не мешают). Только после этого запускайте обновление или обслуживание.
Блокировка входа в файловой базе
В файловом режиме нет консоли кластера, поэтому используются другие механизмы. Если конфигурация построена на Библиотеке стандартных подсистем (БСП) — это практически все современные типовые решения: 1С:Бухгалтерия 3.0, УТ 11, ERP, ЗУП — в разделе «Администрирование» есть пункт «Обслуживание», где находится «Блокировка работы пользователей». Установите флажок, укажите период и сообщение — механизм сам запретит новые входы и за несколько минут до начала предупредит работающих пользователей.
Альтернатива — параметр запуска конфигуратора /UC с кодом. При запуске конфигуратора с этим параметром к файловой базе устанавливается исключительный доступ, и другие пользователи не смогут подключиться, пока конфигуратор открыт. Это удобно для коротких работ, но требует, чтобы конфигуратор оставался запущенным.
Третий вариант — программный. Через внешнюю обработку или консоль кода выполните метод УстановитьБлокировкуСеансов с параметрами (время начала, окончания, сообщение, код разрешения). Блокировка сохранится в базе и будет действовать в указанный интервал независимо от того, открыта ли обработка.
Блокировка = Новый БлокировкаСеансов;
Блокировка.Установлена = Истина;
Блокировка.Начало = ТекущаяДатаСеанса();
Блокировка.Конец = ТекущаяДатаСеанса() + 3600;
Блокировка.Сообщение = "Выполняется обновление базы";
Блокировка.КодРазрешения = "12345";
УстановитьБлокировкуСеансов(Блокировка);Как войти в заблокированную базу администратору
Блокировка действует на всех, включая администратора, поэтому для своего входа используется код разрешения. В клиент-серверном режиме запустите толстый или тонкий клиент с параметром /UC и кодом: например, в ярлыке после пути к базе добавьте /UC12345. В файловом режиме при входе через типовой механизм система сама предложит ввести код разрешения, если он задан.
Если код разрешения не задан или утерян, в клиент-серверном варианте администратор может снять блокировку через консоль кластера — для этого права на вход в базу не нужны, достаточно прав администратора кластера. В файловой базе без кода разрешения снять типовую блокировку можно, изменив константу с параметрами блокировки через конфигуратор в монопольном режиме.
Учтите: параметр /UC в клиент-серверном режиме проверяется сервером, поэтому опечатка в коде даст обычный отказ во входе с текстом сообщения о блокировке. Храните код разрешения в доступном для администраторов месте, но не публикуйте его для всех пользователей.
Проверка результата и снятие блокировки
После установки запрета убедитесь, что он реально работает. Попробуйте войти в базу под обычным пользователем или с другого компьютера — должно появиться сообщение, которое вы указали в свойствах блокировки. В консоли кластера проверьте список сеансов: новые сеансы пользователей не должны появляться.
После завершения работ снимите блокировку в том же месте, где устанавливали: в консоли кластера снимите флажок «Блокировка сеансов» и «Блокировка регламентных заданий», в файловой базе — отключите блокировку в разделе обслуживания или выполните УстановитьБлокировкуСеансов с пустой блокировкой. Если блокировка была задана с временем окончания, она снимется автоматически, но лучше снять её явно, чтобы не зависеть от расписания.
Как проверить результат
Появляется заданное сообщение о блокировке, вход невозможен
Пользователь входит в базу — блокировка не установлена или не в той базе
Нет активных сеансов пользователей и фоновых заданий
Сеансы появляются снова — кто-то входит с кодом разрешения или блокировка снята
Вход выполняется с кодом разрешения
Ошибка входа — проверьте правильность кода и синтаксис параметра
Пользователи входят штатно, регламентные задания выполняются
Вход по-прежнему закрыт — блокировка не снята или указано будущее время окончания
Ответы на частые вопросы
Что увидит пользователь при попытке войти в заблокированную базу?
Он получит окно с текстом, который администратор указал в поле «Сообщение» при установке блокировки. Если текст не задан, отобразится стандартное уведомление о том, что работа с информационной базой запрещена. Поэтому всегда заполняйте сообщение с указанием причины и ориентировочного времени окончания работ.
Блокирует ли запрет входа веб-сервисы и внешние подключения?
Блокировка сеансов в клиент-серверном режиме действует на все типы сеансов, включая подключения через веб-сервисы, HTTP-сервисы и COM-соединения. Однако план обмена и интеграции могут накапливать ошибки, пока база заблокирована. Если внешние системы активно обращаются к базе, предупредите их владельцев или отключите публикации на время работ.
Можно ли заблокировать вход только части пользователей?
Штатный механизм блокировки сеансов действует на всех сразу. Для выборочного запрета в типовых конфигурациях используют снятие ролей у конкретных пользователей, отключение их учётных записей в списке пользователей или настройку профилей групп доступа. Это отдельная задача, которая решается средствами управления правами, а не блокировки сеансов.
Что делать, если блокировка установлена, а пользователи всё равно заходят?
Проверьте, что блокировка установлена именно для той базы, в которую входят пользователи (в кластере может быть несколько похожих баз). Убедитесь, что время начала блокировки уже наступило, а время окончания не прошло. Также проверьте, не входят ли пользователи с кодом разрешения — тогда смените код и не сообщайте его лишним.
Как автоматизировать блокировку перед ночным обновлением?
Используйте пакетный запуск агента сервера или скрипты через RAS (сервер администрирования) и утилиту rac: команда rac infobase update позволяет установить блокировку сеансов с нужными параметрами из скрипта. В файловом режиме можно заранее запланировать блокировку типовым механизмом, указав время начала в будущем.
Опасна ли принудительная блокировка для целостности данных?
Сама установка блокировки данных не повреждает. Риск связан с принудительным завершением активных сеансов: оборванная транзакция откатывается СУБД, поэтому база остаётся согласованной, но несохранённые изменения пользователя теряются. Перед завершением сеансов дайте пользователям время завершить работу штатно.
Что важно запомнить
В клиент-серверной 1С вход блокируется через свойства информационной базы в консоли кластера: флажок «Блокировка сеансов», период, сообщение и код разрешения. В файловой базе — через типовую обработку в разделе «Администрирование» или кодом. После установки запрета завершите активные сеансы, а по окончании работ обязательно снимите блокировку и проверьте вход обычным пользователем.