Выгнать всех из базы 1С 8.3: блокировка сеансов, консоль кластера и rac
Содержание
Чтобы отключить активных пользователей в 1С:Предприятии 8.3, сначала запретите новые входы, а потом завершите текущие сеансы. В типовых конфигурациях (БП 3.0, ЗУП 3.1, УТ 11) это делается одной формой: Администрирование → Обслуживание → Блокировка работы пользователей. В клиент-серверной базе то же самое можно сделать из консоли кластера или командой rac, в файловой — только блокировкой и закрытием процессов на компьютерах.
Способ выбирают по ситуации. Плановое обновление вечером — блокировка из самой программы с предупреждением. Зависший сеанс одного сотрудника — консоль администрирования. Регулярное ночное обслуживание — скрипт по расписанию. Главное правило для всех трёх: если не закрыть вход, люди тут же зайдут снова, и монопольный режим вы так и не получите.
Подготовка: что сделать до разрыва сеансов
Принудительное отключение обрывает работу на полуслове. Незаписанный документ пропадёт, проведение прервётся, обмен с сайтом или банком остановится на середине. Поэтому порядок такой.
- 📢 Предупредите людей. Сообщение в чат за 15–30 минут плюс текст в самой блокировке: «Обновление базы с 19:00 до 20:00, сохраните документы».
- 🔍 Посмотрите, кто сейчас в базе. Список открывается в
Администрирование → Обслуживание → Активные пользователи. Там видно не только людей, но и фоновые задания, COM-соединения, веб-сервисы. - ⏸️ Найдите долгие операции. Если идёт закрытие месяца или пересчёт себестоимости, дождитесь конца. Оборванная транзакция откатится целиком, и операцию придётся запускать заново.
- 🔑 Придумайте код разрешения. Это строка вроде
KOD2024, с которой вы сами войдёте в заблокированную базу через параметр запуска/UC. - 💾 Сделайте копию, если после отключения пойдёт обновление конфигурации
или загрузка
.dt.
Отключать всех нужно не для любой работы администратора. Монопольный доступ требуется для обновления структуры базы (Конфигурация → Обновить конфигурацию базы данных с изменением структуры), загрузки .dt, тестирования и исправления. Правка отчёта в расширении или выгрузка .dt обычно идут при работающих пользователях.
Блокировка работы пользователей из режима 1С:Предприятие
Это самый мягкий способ и единственный, который одинаково работает в файловой и серверной базе. Механизм входит в Библиотеку стандартных подсистем, поэтому он есть во всех современных типовых конфигурациях.
Пошагово
- Войдите под пользователем с полными правами.
- Откройте
Администрирование → Обслуживаниеи перейдите по ссылке «Блокировка работы пользователей». - Заполните текст сообщения — его увидят все, кто сейчас в базе.
- Укажите время начала и окончания блокировки. Окончание можно оставить пустым, тогда блокировка снимается вручную.
- Впишите код разрешения.
- Нажмите «Установить блокировку».
Дальше программа работает сама. Пользователи получают предупреждение и несколько минут на сохранение. Когда наступает время начала, их сеансы закрываются, а новые входы запрещаются. Сеанс того, кто ставил блокировку, остаётся.
В клиент-серверной базе форма может спросить логин и пароль администратора кластера. Это нужно, если на сервере 1С задан администратор кластера: без него программа не имеет права завершать чужие сеансы.
Как войти, пока база закрыта
Запустите 1С с параметром /UC и кодом разрешения. Удобнее всего прописать его в настройках базы в окне запуска: Изменить → Далее → Дополнительные параметры запуска.
/UCKOD2024
Снять блокировку можно там же, в форме «Блокировка работы пользователей», кнопкой снятия. Если блокировка была с временем окончания, она снимется сама.
Блокировка из программы не трогает фоновые задания, запущенные до неё, мгновенно. Если в списке активных пользователей остались «Фоновое задание» или «COM-соединение», завершите их через консоль кластера или дождитесь окончания.
Монопольный режим в Конфигураторе: что он даёт и чего не даёт
Монопольный режим — это состояние, когда в базе нет ни одного сеанса, кроме вашего. Конфигуратор сам его не создаёт: он только проверяет, что в базе никого нет, и захватывает базу на время операции.
Включить его вручную можно в меню Конфигуратора Администрирование → Монопольный режим. Если в базе есть хотя бы один другой сеанс, платформа откажет и выдаст сообщение о невозможности установить монопольный режим.
Что из этого следует на практике:
- 🚫 Конфигуратор не умеет выгонять пользователей. Он только сообщает, что они есть.
- 👀 Посмотреть, кто мешает, можно в
Администрирование → Активные пользователипрямо в Конфигураторе. - 🔁 Если при обновлении появляется предложение «Завершить сеансы и повторить», в клиент-серверной базе платформа сама пробует заблокировать вход и завершить сеансы. Для этого ей тоже нужны права администратора кластера.
Типичная последовательность для обновления: блокировка работы пользователей в режиме 1С:Предприятие → вход в Конфигуратор с /UC → Администрирование → Монопольный режим → обновление → снятие блокировки.
Как завершить сеансы через консоль администрирования серверов 1С
Для клиент-серверной базы это самый быстрый способ. Консоль показывает каждый сеанс: пользователя, компьютер, приложение (тонкий клиент, Конфигуратор, фоновое задание), время начала.
Отключить одного или всех
- Запустите «Администрирование серверов 1С Предприятия».
- Раскройте
Центральные серверы 1С:Предприятия → имя сервера → Кластеры → кластер → Информационные базы → нужная база → Сеансы. - Выделите сеанс (или все сеансы через
Ctrl+A). - Правой кнопкой — «Удалить». Подтвердите.
Удалённый сеанс исчезает у пользователя с сообщением о разрыве связи. Если не закрыть вход, через минуту в списке будут новые строки.
Запретить новые сеансы в свойствах базы
Откройте свойства информационной базы в той же ветке (правой кнопкой по базе → «Свойства»). Там есть:
| Параметр | Что делает |
|---|---|
| Блокировка начала сеансов включена | Запрещает новые входы |
| Начало / Конец | Период действия блокировки |
| Сообщение | Текст, который увидит пользователь при попытке входа |
| Код разрешения | Тот же код для /UC |
| Блокировка регламентных заданий включена | Останавливает запуск регламентных заданий |
Для изменения свойств консоль попросит логин и пароль пользователя самой информационной базы с правами администратора.
Если консоль не открывается
Самая частая проблема — оснастка не зарегистрирована или зарегистрирована от другой версии платформы. Тогда консоль выдаёт ошибку при открытии или пустое окно. Решение — перерегистрировать библиотеку от той версии платформы, которая стоит на сервере. Командная строка запускается от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер версии в пути замените на свой: он должен совпадать с версией сервера 1С. После регистрации консоль подключается к серверу по порту агента 1540.
Отключение пользователей командой rac и через параметры запуска
Когда графической консоли нет под рукой (Linux-сервер, удалённая сессия, скрипт), сеансами управляет утилита rac. Она работает через сервер администрирования ras, который должен быть запущен на сервере 1С (по умолчанию порт 1545).
Базовые команды:
rem Получить идентификатор кластера
rac cluster list
rem Список сеансов кластера
rac session list --cluster=<uuid кластера>
rem Завершить конкретный сеанс
rac session terminate --cluster=<uuid кластера> --session=<uuid сеанса>
Если в кластере есть администратор, добавьте --cluster-user и --cluster-pwd. Для отбора сеансов одной базы сначала узнайте её идентификатор командой rac infobase summary list --cluster=<uuid>, а затем передайте --infobase=<uuid базы> в rac session list.
Блокировку начала сеансов rac ставит через изменение свойств базы. Полный перечень параметров для вашей версии смотрите в справке:
rac help infobase
Параметры запуска из Библиотеки стандартных подсистем
У типовых конфигураций есть ещё один удобный путь — команды запуска через /C. Запуск с ключом /C ЗавершитьРаботуПользователей устанавливает блокировку и завершает сеансы, а /C РазрешитьРаботуПользователей снимает её.
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"KOD2024"
Сеанс, запущенный такой командой, остаётся открытым, пока идёт отключение. Работает и для файловой базы — вместо /S укажите /F"D:\Bases\Buh".
Файловая база: как отключить пользователей без сервера 1С
У файловой базы нет кластера и нет консоли. Каждый пользователь открывает файл 1Cv8.1CD напрямую, поэтому «удалить сеанс» снаружи нельзя. Остаются три инструмента.
- Блокировка работы пользователей из программы. Это основной путь. Клиенты периодически проверяют блокировку и закрываются сами после предупреждения.
- Закрытие процессов на терминальном сервере. Если все работают через RDP, откройте
Диспетчер задач → Пользователи, найдите процессы1cv8c.exe(тонкий клиент) или1cv8.exeи завершите их. Или выйдите из RDP-сеанса пользователя целиком. - Закрытие открытых файлов на сетевой папке. Если база лежит в общей папке, на компьютере с этой папкой откройте
Управление компьютером → Общие папки → Открытые файлы. Найдите1Cv8.1CDи закройте его для нужного пользователя.
Закрытие файла и завершение процесса — грубое прерывание. Если в этот момент шла запись, возможна порча файла базы. Делайте это, только когда пользователь не отвечает, а блокировка из программы не сработала, и только после свежей копии базы.
Чего делать не нужно: удалять служебные файлы рядом с базой и перезагружать сервер с базой в рабочее время. Перезагрузка оборвёт всех разом, ровно с тем же риском, что и закрытие файла.
Частая ловушка файлового варианта — «висящий» пользователь в списке активных, которого физически нет. Обычно это компьютер, ушедший в сон с открытой 1С. Разбудите его и закройте программу или закройте файл на сервере способом выше.
Автоматизация и профилактика зависших сеансов
Ночное обслуживание по расписанию
Типовой сценарий для «Планировщика заданий» Windows — один bat-файл:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set IB=/S"srv1c\buh"
set AUTH=/N"Обслуживание" /P"пароль"
rem 1. Закрыть вход и завершить сеансы
%V8% ENTERPRISE %IB% %AUTH% /C"ЗавершитьРаботуПользователей" /UC"KOD2024" /DisableStartupMessages
rem 2. Выгрузка базы
%V8% DESIGNER %IB% %AUTH% /UC"KOD2024" /DumpIB"D:\Backup\buh.dt" /Out"D:\Backup\log.txt"
rem 3. Открыть вход
%V8% ENTERPRISE %IB% %AUTH% /C"РазрешитьРаботуПользователей" /UC"KOD2024" /DisableStartupMessages
Для этого заведите отдельного пользователя базы с правами администратора, а не используйте личную учётную запись. Пароль в bat-файле храните в папке, доступ к которой есть только у администратора.
Перед автоматизацией прогоните сценарий вручную и посмотрите лог. Если блокировка не успевает завершить сеансы, первая команда отработает раньше, чем база освободится, и выгрузка упадёт с ошибкой монопольного доступа.
Как сделать, чтобы сеансы не зависали
- ⏱️ Отключение бездействующих. В свойствах информационной базы в консоли кластера есть параметры засыпания пассивного сеанса и завершения спящего сеанса (в секундах). Они закрывают сеансы, которые давно не подают признаков жизни.
- 💤 Сон и гибернация на рабочих компьютерах — главный источник «призраков» в файловых базах. Отключите сон на машинах, где 1С открыта весь день, или договоритесь закрывать программу.
- 🖥️ Терминальные сессии. Настройте на RDP-сервере завершение отключённых сессий через несколько часов. Тогда брошенная 1С не держит базу до утра.
- 🧾 Журнал регистрации. Если сеанс одного и того же пользователя зависает регулярно, найдите в
Администрирование → Обслуживание → Журнал регистрацииего последние операции. Часто это одна и та же обработка или обмен.