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

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

Как отключить сеанс пользователя в 1С 8.3

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

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

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

Что такое сеанс и почему он может зависнуть

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

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

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

Как отключить сеанс через консоль кластера серверов 1С

Это основной и самый надёжный способ для клиент-серверного режима. Консоль «Администрирование серверов 1С Предприятия» устанавливается вместе с сервером и доступна на машине, где развёрнут кластер, либо на компьютере администратора.

Откройте консоль, разверните нужный кластер и перейдите в ветку «Сеансы». В списке отобразятся все активные сеансы с указанием пользователя, приложения, времени начала и занятой лицензии. Найдите нужный сеанс по имени пользователя или номеру, выделите его и нажмите «Удалить» в контекстном меню или на панели инструментов.

Для удаления нескольких сеансов выделите их с зажатой клавишей Ctrl или Shift и удалите группой. Чтобы завершить все сеансы базы сразу, удобнее установить для информационной базы режим блокировки соединений — об этом ниже.

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

Как понять, какой сеанс удалять

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

Как посмотреть и завершить сеансы в конфигураторе

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

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

В файловом режиме, если нужно срочно освободить базу, вариантов немного: договориться с пользователями о выходе, воспользоваться программным завершением сеансов через встроенный язык или, в крайнем случае, завершить процессы 1cv8.exe на компьютерах пользователей по сети.

Программное отключение сеансов из кода 1С

Для автоматизации завершения сеансов используется объект ПолучитьСеансыИнформационнойБазы() — он возвращает массив сеансов, аналогичный списку в консоли. Однако сам по себе этот метод не умеет завершать сеансы: для принудительного отключения нужен COM-коннектор к агенту сервера (V83.ComConnector) или административный интерфейс кластера.

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

bsl
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
    Сообщить("Сеанс " + Сеанс.НомерСеанса + ", пользователь: " + Сеанс.ИмяПользователя);
КонецЦикла;

Для работы через COM-коннектор учётная запись, от имени которой выполняется код, должна иметь права администратора кластера. Кроме того, разрядность COM-коннектора должна совпадать с разрядностью сервера 1С, иначе подключение не установится.

Блокировка сеансов и установка монопольного режима

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

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

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

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

Консоль кластера

Подходит для клиент-серверного режима, мгновенный результат. Требует прав администратора кластера.

Блокировка сеансов в типовой конфигурации

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

Программное завершение через COM

Для автоматизации и регламентных сценариев. Требует настройки прав и совместимости разрядности.

Завершение процесса на ПК пользователя

Крайняя мера для файлового режима. Гарантированная потеря несохранённых данных.

Проверка результата и типичные ошибки

После удаления сеанса убедитесь, что он исчез из списка в консоли кластера и освободилась лицензия. Если сеанс появился снова с тем же пользователем — вероятно, у пользователя включено автоподключение (например, тонкий клиент с автозапуском) или сеанс пересоздаётся фоновым заданием. В этом случае сначала остановите источник переподключения.

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

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

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

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

Удалённый сеанс отсутствует

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

Сеанс появился снова с тем же пользователем

Лицензии
Норма

Количество занятых лицензий уменьшилось

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

Лицензия осталась занятой — сеанс не завершён

Монопольный режим
Норма

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

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

Ошибка «база используется» — остались активные сеансы

FAQ

Пользователь вышел из 1С, но сеанс висит. Что делать?

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

Можно ли отключить сеанс, не имея прав администратора кластера?

Нет. Удаление сеансов в консоли кластера требует прав администратора кластера или информационной базы. Рядовой пользователь может завершить только свой собственный сеанс штатным выходом из программы.

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

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

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

Все несохранённые данные будут потеряны: незаписанные документы, открытые формы, введённые строки. Записанные в базу данные не пострадают — принудительное завершение сеанса не повреждает информационную базу.

Как отключить сеанс в файловой базе без сервера 1С?

Штатного инструмента принудительного отключения в файловом режиме нет. Варианты: попросить пользователя выйти, использовать механизм блокировки работы пользователей в типовой конфигурации или завершить процесс 1cv8.exe на компьютере пользователя удалённо — последний способ приводит к потере несохранённых данных.

Почему после удаления сеанса лицензия не освободилась?

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

Итог

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

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