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

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

Как выгнать пользователя из базы 1С

Как отключить пользователя от базы 1С: через консоль кластера, администрирование в конфигураторе, консольные команды и код на встроенном языке. Пошаговые инструкции.

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

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

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

Прежде чем отключать пользователя, важно увидеть полную картину: кто подключён, через какое приложение, как давно и какую нагрузку создаёт. В клиент-серверном режиме откройте консоль кластера (оснастка «Центральные серверы 1С:Предприятия»), разверните нужный кластер и перейдите в ветку «Сеансы». Здесь видны имя пользователя, приложение (тонкий клиент, толстый клиент, веб-клиент, фоновое задание, COM-соединение), время начала сеанса, объём прочитанных и записанных данных, длительность текущего вызова СУБД.

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

Длительный вызов СУБДИдёт тяжёлый запрос или блокировка

Проверить, какой запрос выполняется, и оценить, не завершится ли он сам

Сеанс без активности несколько часовПользователь оставил клиент открытым

Можно завершать, но лучше предупредить сообщением

Приложение — фоновое заданиеВыполняется регламентная операция

Завершение прервёт обработку; проверить, что делает задание

Приложение — COM-соединение или веб-сервисИнтеграция из внешней системы

После отключения интеграция может переподключиться автоматически

Завершение сеанса через консоль кластера серверов

Это основной способ для клиент-серверных баз. Откройте консоль кластера на сервере или с рабочей машины администратора, выберите кластер, раскройте ветку «Сеансы», найдите нужную строку, щёлкните правой кнопкой и выберите «Удалить». Сеанс завершится немедленно, пользователь увидит сообщение о разрыве соединения с сервером.

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

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

Порядок действий в консоли кластера
  1. 1
    Откройте оснастку «Центральные серверы 1С:Предприятия» и выберите нужный кластер
  2. 2
    Раскройте ветку «Сеансы» и найдите пользователя по имени или компьютеру
  3. 3
    Проверьте приложение и время активности, чтобы не отключить не тот сеанс
  4. 4
    Правый клик по сеансу → «Удалить» и подтвердите действие
  5. 5
    Проверьте, что сеанс исчез из списка, а у пользователя появилось сообщение о разрыве

Установка блокировки соединений: как не дать пользователям вернуться

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

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

В типовых конфигурациях на базе Библиотеки стандартных подсистем есть обработка «Блокировка работы пользователей» (раздел «Администрирование» → «Обслуживание»). Она делает то же самое изнутри клиента: устанавливает блокировку, показывает активных пользователей и позволяет отправить им сообщение с просьбой завершить работу. Это самый «мягкий» сценарий: пользователи получают предупреждение и успевают сохранить данные.

Как выгнать пользователя из файловой базы

В файловом варианте нет кластера и консоли сеансов, поэтому централизованно «удалить сеанс» нельзя. Доступны такие варианты: штатная блокировка через обработку БСП (пользователи получат сообщение и при активной работе будут завершены по таймауту), программное завершение через функциональность завершения работы, либо физическое ограничение доступа к файлу.

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

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

Сравнение способов отключения

Консоль кластера, удаление сеанса

Клиент-серверные базы; мгновенно, но без предупреждения пользователю

Блокировка соединений + удаление сеансов

Подготовка к обновлению; пользователи не вернутся, но нужно планировать заранее

Обработка «Блокировка работы пользователей» (БСП)

Типовые конфигурации; мягкий сценарий с предупреждением и таймаутом

Перезапуск веб-сервера / службы агента

Крайний случай; отключает всех сразу, включая фоновые задания и интеграции

Программное завершение сеансов и автоматизация через скрипты

Для регулярных операций — ночных обновлений, выгрузок, бэкапов — отключение пользователей автоматизируют. Классический инструмент администратора 1С — серверный COM-объект V83.COMConnector в связке с объектом агента кластера, либо утилита администрирования кластера rac.exe из каталога установки платформы.

Через rac можно получить список сеансов и завершить конкретный: сначала запрашивается список сеансов базы с их идентификаторами, затем сеанс завершается по UUID. Это удобно оборачивать в PowerShell-скрипт, который ставит блокировку, ждёт несколько минут и удаляет оставшиеся сеансы.

bash
"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_сеанса>

Внутри конфигурации на встроенном языке доступны методы объекта СоединенияИБ: получить список соединений информационной базы и разорвать выбранное. Также есть глобальный метод ЗавершитьРаботуСистемы(), который завершает текущий сеанс — его используют в регламентных механизмах самозавершения по расписанию блокировки. Разработка собственной подсистемы оправдана, только если штатных средств БСП не хватает.

Зависшие сеансы и типичные ошибки администраторов

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

Другая частая проблема — пользователь, которого «выгнали», входит снова, потому что у него настроен ярлык с автозапуском или работает скрипт интеграции. Признак: сеанс с тем же именем появляется через секунды после удаления. Решение — не воевать с переподключениями, а ставить блокировку начала сеансов.

Типичные ошибки
01
Удаление сеансов без блокировки соединений — пользователи переподключаются, и обновление снова невозможно
02
Отключение фоновых заданий и сеансов веб-сервисов вместе с пользователями — ломаются обмены и регламентные операции
03
Перезапуск службы агента кластера «для надёжности» — отключаются все базы кластера, а не одна нужная
04
Забытый код разрешения блокировки — администратор не может сам войти в базу после блокировки
05
Отключение сеанса во время записи без проверки — риск незавершённых транзакций и потери несохранённых данных

Как проверить, что пользователь действительно отключён

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

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

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

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

Список сеансов после удаления
Норма

Сеанс исчез и не появляется повторно

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

Сеанс с тем же именем пересоздаётся — нужна блокировка соединений

Экран пользователя
Норма

Сообщение о разрыве соединения, клиент закрыт

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

Пользователь продолжает работать — удалён не тот сеанс

Вход в базу под тестовой учётной записью
Норма

Вход запрещён, показано сообщение блокировки

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

Вход выполняется — блокировка не установлена или истекло её время

Монопольный режим в конфигураторе
Норма

Устанавливается без ошибок

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

Ошибка о занятых соединениях — остались активные сеансы

Частые вопросы

Можно ли выгнать пользователя из 1С без прав администратора?

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

Потеряет ли пользователь несохранённые данные при принудительном отключении?

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

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

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

Почему удалённый сеанс появляется снова через несколько секунд?

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

Как завершить зависший сеанс, который держит лицензию?

Найдите его в ветке «Сеансы» консоли кластера (обычно у таких сеансов давно нет активности) и удалите вручную — лицензия освободится. Если зависшие сеансы появляются систематически, проверьте сетевую инфраструктуру и при необходимости скорректируйте таймауты разрыва соединений в свойствах кластера.

Чем отличается завершение сеанса от разрыва соединения?

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

Итог

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

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