Администрирование · 12 мин
Как выгнать пользователя из базы 1С
Как отключить пользователя от базы 1С: через консоль кластера, администрирование в конфигураторе, консольные команды и код на встроенном языке. Пошаговые инструкции.
Завершить сеанс пользователя в 1С требуется регулярно: перед обновлением конфигурации, при блокировке базы для регламентных операций, когда сеанс «завис» и держит соединение, или когда сотрудник уволился, а его сессия осталась активной. Способ зависит от режима работы базы — файловый или клиент-серверный — и от того, есть ли у вас права администратора кластера.
В клиент-серверном варианте основной инструмент — консоль кластера серверов 1С:Предприятия. В файловом варианте централизованного списка сеансов нет, поэтому используют штатную обработку «Блокировка работы пользователей», код на встроенном языке или перезапуск службы публикации. Ниже разобраны все рабочие сценарии с условиями применения и ограничениями.
Как определить, какие сеансы активны и какой из них завершать
Прежде чем отключать пользователя, важно увидеть полную картину: кто подключён, через какое приложение, как давно и какую нагрузку создаёт. В клиент-серверном режиме откройте консоль кластера (оснастка «Центральные серверы 1С:Предприятия»), разверните нужный кластер и перейдите в ветку «Сеансы». Здесь видны имя пользователя, приложение (тонкий клиент, толстый клиент, веб-клиент, фоновое задание, COM-соединение), время начала сеанса, объём прочитанных и записанных данных, длительность текущего вызова СУБД.
Обращайте внимание на колонку «Спящий сеанс» и время последней активности. Пользователь, который просто свернул окно и ушёл домой, и пользователь, выполняющий тяжёлый отчёт, — разные ситуации. Принудительное завершение активного сеанса во время записи данных может оставить транзакцию незавершённой, хотя СУБД в большинстве случаев корректно её откатит.
Проверить, какой запрос выполняется, и оценить, не завершится ли он сам
Можно завершать, но лучше предупредить сообщением
Завершение прервёт обработку; проверить, что делает задание
После отключения интеграция может переподключиться автоматически
Завершение сеанса через консоль кластера серверов
Это основной способ для клиент-серверных баз. Откройте консоль кластера на сервере или с рабочей машины администратора, выберите кластер, раскройте ветку «Сеансы», найдите нужную строку, щёлкните правой кнопкой и выберите «Удалить». Сеанс завершится немедленно, пользователь увидит сообщение о разрыве соединения с сервером.
Для массового отключения выделите несколько сеансов с зажатой клавишей Ctrl или Shift и удалите их одним действием. Так можно быстро «выгнать» всех перед обновлением. Учтите: фоновые задания и сеансы системных сервисов (например, сеансы с пустым именем пользователя, принадлежащие самому кластеру) трогать не нужно — они пересоздадутся, но их принудительное удаление может сбить регламентные операции.
Для работы в консоли нужны права администратора кластера или администратора информационной базы, если в кластере настроена аутентификация. Если консоль запрашивает логин и пароль, которых у вас нет, — обратитесь к тому, кто разворачивал сервер 1С.
- 1Откройте оснастку «Центральные серверы 1С:Предприятия» и выберите нужный кластер
- 2Раскройте ветку «Сеансы» и найдите пользователя по имени или компьютеру
- 3Проверьте приложение и время активности, чтобы не отключить не тот сеанс
- 4Правый клик по сеансу → «Удалить» и подтвердите действие
- 5Проверьте, что сеанс исчез из списка, а у пользователя появилось сообщение о разрыве
Установка блокировки соединений: как не дать пользователям вернуться
Удалить сеанс — половина задачи. Если база опубликована и пользователи работают, они переподключатся через минуту. Поэтому перед обновлением сначала устанавливают блокировку соединений, а уже потом завершают оставшиеся сеансы.
В консоли кластера откройте свойства информационной базы (правый клик по базе → «Свойства») и установите флаг «Блокировка регламентных заданий включена» и параметр «Блокировка начала сеансов включена». Задайте время начала и окончания блокировки, сообщение для пользователей и код разрешения — строку, которую можно передать как параметр запуска /UC для входа в обход блокировки.
В типовых конфигурациях на базе Библиотеки стандартных подсистем есть обработка «Блокировка работы пользователей» (раздел «Администрирование» → «Обслуживание»). Она делает то же самое изнутри клиента: устанавливает блокировку, показывает активных пользователей и позволяет отправить им сообщение с просьбой завершить работу. Это самый «мягкий» сценарий: пользователи получают предупреждение и успевают сохранить данные.
Как выгнать пользователя из файловой базы
В файловом варианте нет кластера и консоли сеансов, поэтому централизованно «удалить сеанс» нельзя. Доступны такие варианты: штатная блокировка через обработку БСП (пользователи получат сообщение и при активной работе будут завершены по таймауту), программное завершение через функциональность завершения работы, либо физическое ограничение доступа к файлу.
Если база опубликована на веб-сервере, отключить всех можно перезапуском пула приложений IIS или службы Apache — соединения разорвутся, а с установленной блокировкой соединений пользователи не смогут войти снова. Если база лежит в общей сетевой папке, грубый вариант — временно закрыть общий доступ к папке, но это крайняя мера: у пользователей с открытыми несохранёнными документами данные потеряются.
Надёжная практика для файловых баз — заранее встроить в конфигурацию механизм завершения работы по команде из БСП. Тогда администратор включает блокировку, система рассылает предупреждение, и через заданный интервал активные сеансы завершаются штатно, с сохранением настроек.
Сравнение способов отключения
Клиент-серверные базы; мгновенно, но без предупреждения пользователю
Подготовка к обновлению; пользователи не вернутся, но нужно планировать заранее
Типовые конфигурации; мягкий сценарий с предупреждением и таймаутом
Крайний случай; отключает всех сразу, включая фоновые задания и интеграции
Программное завершение сеансов и автоматизация через скрипты
Для регулярных операций — ночных обновлений, выгрузок, бэкапов — отключение пользователей автоматизируют. Классический инструмент администратора 1С — серверный COM-объект V83.COMConnector в связке с объектом агента кластера, либо утилита администрирования кластера rac.exe из каталога установки платформы.
Через rac можно получить список сеансов и завершить конкретный: сначала запрашивается список сеансов базы с их идентификаторами, затем сеанс завершается по UUID. Это удобно оборачивать в PowerShell-скрипт, который ставит блокировку, ждёт несколько минут и удаляет оставшиеся сеансы.
"C:\Program Files\1cv8\8.3.22.1750\bin\rac.exe" session list --cluster=<GUID_кластера> --infobase=<GUID_базы>
"C:\Program Files\1cv8\8.3.22.1750\bin\rac.exe" session terminate --cluster=<GUID_кластера> --session=<UUID_сеанса>Внутри конфигурации на встроенном языке доступны методы объекта СоединенияИБ: получить список соединений информационной базы и разорвать выбранное. Также есть глобальный метод ЗавершитьРаботуСистемы(), который завершает текущий сеанс — его используют в регламентных механизмах самозавершения по расписанию блокировки. Разработка собственной подсистемы оправдана, только если штатных средств БСП не хватает.
Зависшие сеансы и типичные ошибки администраторов
Отдельная ситуация — «зависший» сеанс: клиент давно закрыт аварийно, а в консоли сеанс висит и держит лицензию. Кластер сам удаляет такие сеансы по таймауту, но ждать можно долго. Зависший сеанс безопасно удалить вручную через консоль: реального пользователя за ним нет, данные не пострадают. Если зависшие сеансы появляются регулярно, проверьте стабильность сети и настройки таймаутов кластера.
Другая частая проблема — пользователь, которого «выгнали», входит снова, потому что у него настроен ярлык с автозапуском или работает скрипт интеграции. Признак: сеанс с тем же именем появляется через секунды после удаления. Решение — не воевать с переподключениями, а ставить блокировку начала сеансов.
Как проверить, что пользователь действительно отключён
После удаления сеанса обновите список в консоли кластера (F5): строка должна исчезнуть и не появиться снова в течение минуты. У пользователя на экране появится сообщение о разрыве соединения с предложением завершить работу или перезапустить клиент. Если установлена блокировка соединений, при попытке входа он увидит текст, заданный в параметрах блокировки.
Дополнительно проверьте ветку «Соединения» в консоли: иногда соединение остаётся после удаления сеанса и освобождается с задержкой. Для критичных операций, например монопольного обновления конфигурации, дождитесь, пока в списке сеансов не останется только ваш сеанс конфигуратора.
Как проверить результат
Сеанс исчез и не появляется повторно
Сеанс с тем же именем пересоздаётся — нужна блокировка соединений
Сообщение о разрыве соединения, клиент закрыт
Пользователь продолжает работать — удалён не тот сеанс
Вход запрещён, показано сообщение блокировки
Вход выполняется — блокировка не установлена или истекло её время
Устанавливается без ошибок
Ошибка о занятых соединениях — остались активные сеансы
Частые вопросы
Можно ли выгнать пользователя из 1С без прав администратора?
Нет. Для работы с сеансами в консоли кластера нужны права администратора кластера или информационной базы, а для установки блокировки из клиента — роль с правами администрирования в конфигурации. Обычный пользователь может завершить только свой собственный сеанс.
Потеряет ли пользователь несохранённые данные при принудительном отключении?
Да, всё, что не было записано в базу (открытые незаписанные документы, набранные формы), будет потеряно. Уже записанные в базу данные не пострадают: СУБД откатывает незавершённые транзакции. Поэтому по возможности предупреждайте пользователей заранее через обработку блокировки.
Как отключить всех пользователей сразу перед обновлением?
Установите блокировку начала сеансов в свойствах информационной базы, подождите несколько минут, затем в ветке «Сеансы» консоли кластера выделите все пользовательские сеансы и удалите их. Фоновые задания и системные сеансы оставьте. После этого можно входить в конфигуратор с кодом разрешения и обновляться.
Почему удалённый сеанс появляется снова через несколько секунд?
Клиент 1С умеет автоматически восстанавливать соединение, кроме того, пользователь мог настроить автозапуск или работает внешняя интеграция. Удаление сеанса не запрещает новый вход — для этого служит блокировка соединений. Поставьте её, и переподключения прекратятся.
Как завершить зависший сеанс, который держит лицензию?
Найдите его в ветке «Сеансы» консоли кластера (обычно у таких сеансов давно нет активности) и удалите вручную — лицензия освободится. Если зависшие сеансы появляются систематически, проверьте сетевую инфраструктуру и при необходимости скорректируйте таймауты разрыва соединений в свойствах кластера.
Чем отличается завершение сеанса от разрыва соединения?
Сеанс — логическая сессия пользователя в информационной базе, соединение — физический канал между клиентом и кластером. При удалении сеанса работа пользователя завершается. Разрыв соединения без удаления сеанса приведёт к тому, что клиент попытается переподключиться и продолжить работу в том же сеансе.
Что важно запомнить
В клиент-серверной базе сеансы завершают через консоль кластера, в файловой — через штатную блокировку БСП или перезапуск публикации. Перед массовым отключением всегда ставьте блокировку соединений, чтобы пользователи не вернулись, и проверяйте, что не трогаете фоновые задания и активные обмены. После отключения убедитесь, что сеансы не пересоздаются.