Администрирование · 10 мин
Как отключить сеанс пользователя в 1С 8.3
Как отключить сеанс пользователя в 1С 8.3 через консоль кластера, конфигуратор и код. Пошаговые инструкции, риски, типичные ошибки и ответы на вопросы.
Зависший или «повисший» сеанс пользователя — одна из самых частых ситуаций в администрировании 1С: клиент закрылся аварийно, а сеанс остался висеть на сервере, блокирует лицензию и мешает обновлению конфигурации. Отключить сеанс можно несколькими способами: через консоль кластера серверов 1С, через конфигуратор, программно из кода или через администрирование веб-сервера.
Выбор способа зависит от режима работы базы: файловая или клиент-серверная, от наличия прав администратора кластера и от того, нужно ли завершить один сеанс или все сразу. Ниже разобраны все рабочие варианты с точными действиями и ограничениями.
Что такое сеанс и почему он может зависнуть
Сеанс — это активное подключение пользователя к информационной базе. Каждый запуск толстого, тонкого или веб-клиента, а также фоновые задания и соединения внешних компонент создают отдельный сеанс. Пока сеанс существует, он занимает лицензию и может удерживать блокировки данных.
Типичная причина «зависшего» сеанса — аварийное закрытие клиента: обрыв сети, отключение электричества, снятие процесса через диспетчер задач. Сервер 1С некоторое время считает такой сеанс живым, и пользователь не может войти снова из-за нехватки лицензий, а администратор — выполнить монопольные операции.
Важно различать сеанс и соединение: сеанс — логическая сущность, соединение — физический канал между клиентом и рабочим процессом кластера. В консоли кластера видны оба списка, и удалять нужно именно сеанс.
Как отключить сеанс через консоль кластера серверов 1С
Это основной и самый надёжный способ для клиент-серверного режима. Консоль «Администрирование серверов 1С Предприятия» устанавливается вместе с сервером и доступна на машине, где развёрнут кластер, либо на компьютере администратора.
Откройте консоль, разверните нужный кластер и перейдите в ветку «Сеансы». В списке отобразятся все активные сеансы с указанием пользователя, приложения, времени начала и занятой лицензии. Найдите нужный сеанс по имени пользователя или номеру, выделите его и нажмите «Удалить» в контекстном меню или на панели инструментов.
Для удаления нескольких сеансов выделите их с зажатой клавишей Ctrl или Shift и удалите группой. Чтобы завершить все сеансы базы сразу, удобнее установить для информационной базы режим блокировки соединений — об этом ниже.
- 1Откройте оснастку «Администрирование серверов 1С Предприятия»
- 2Разверните кластер и перейдите в ветку «Сеансы»
- 3Найдите сеанс по имени пользователя и приложению
- 4Выделите сеанс и нажмите «Удалить»
- 5Попросите пользователя войти заново и проверьте, что лицензия освободилась
Как понять, какой сеанс удалять
Если у пользователя несколько сеансов, ориентируйтесь на колонки «Начало сеанса», «Последняя активность» и «Клиентское приложение». Зависший сеанс обычно показывает давнее время последней активности. Не удаляйте сеансы фоновых заданий и системных сервисов без необходимости — это может прервать регламентные операции.
Как посмотреть и завершить сеансы в конфигураторе
В конфигураторе есть встроенный инструмент просмотра активных подключений: меню «Администрирование» → «Активные пользователи». Откроется список сеансов с указанием пользователя, режима запуска и времени начала работы. Это работает и в файловом, и в клиент-серверном режиме.
Однако важное ограничение: стандартный список активных пользователей позволяет только просматривать сеансы, но не завершать их принудительно. Кнопки «Отключить» там нет. Поэтому конфигуратор используют для диагностики — узнать, кто сейчас в базе, перед обновлением или установкой монопольного режима.
В файловом режиме, если нужно срочно освободить базу, вариантов немного: договориться с пользователями о выходе, воспользоваться программным завершением сеансов через встроенный язык или, в крайнем случае, завершить процессы 1cv8.exe на компьютерах пользователей по сети.
Программное отключение сеансов из кода 1С
Для автоматизации завершения сеансов используется объект ПолучитьСеансыИнформационнойБазы() — он возвращает массив сеансов, аналогичный списку в консоли. Однако сам по себе этот метод не умеет завершать сеансы: для принудительного отключения нужен COM-коннектор к агенту сервера (V83.ComConnector) или административный интерфейс кластера.
Типовой сценарий: через COM-объект подключиться к агенту сервера, получить список сеансов рабочего процесса и вызвать метод завершения. Такой подход применяют в регламентных операциях — например, перед ночным обновлением или резервным копированием, когда нужно гарантированно выгнать всех пользователей.
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Сообщить("Сеанс " + Сеанс.НомерСеанса + ", пользователь: " + Сеанс.ИмяПользователя);
КонецЦикла;Для работы через COM-коннектор учётная запись, от имени которой выполняется код, должна иметь права администратора кластера. Кроме того, разрядность COM-коннектора должна совпадать с разрядностью сервера 1С, иначе подключение не установится.
Блокировка сеансов и установка монопольного режима
Если задача — не просто отключить одного пользователя, а полностью освободить базу (например, для обновления), правильный путь — блокировка сеансов. В клиент-серверном режиме она устанавливается в консоли кластера: свойства информационной базы → параметры блокировки сеансов. Можно задать время начала блокировки и код разрешения для входа администратора.
После включения блокировки новые сеансы без кода разрешения создаваться не будут, а существующие нужно завершить вручную через список сеансов. Это безопаснее, чем массовое удаление вслепую: пользователи, которые попытаются войти, получат понятное сообщение о регламентных работах.
В типовых конфигурациях на БСП есть штатный механизм «Блокировка работы пользователей» (раздел «Администрирование» → «Обслуживание»). Он показывает пользователям предупреждение, просит завершить работу и по расписанию завершает сеансы программно — это самый цивилизованный способ массового отключения.
Способы отключения сеанса
Подходит для клиент-серверного режима, мгновенный результат. Требует прав администратора кластера.
Лучший вариант для планового отключения всех пользователей: с предупреждением и без потери данных.
Для автоматизации и регламентных сценариев. Требует настройки прав и совместимости разрядности.
Крайняя мера для файлового режима. Гарантированная потеря несохранённых данных.
Проверка результата и типичные ошибки
После удаления сеанса убедитесь, что он исчез из списка в консоли кластера и освободилась лицензия. Если сеанс появился снова с тем же пользователем — вероятно, у пользователя включено автоподключение (например, тонкий клиент с автозапуском) или сеанс пересоздаётся фоновым заданием. В этом случае сначала остановите источник переподключения.
Частая ошибка — удаление соединения вместо сеанса в ветке «Соединения»: соединение пересоздаётся, и проблема остаётся. Другая ошибка — попытка завершить сеанс в файловой базе через консоль кластера: файловые базы в кластере не отображаются, там этот инструмент бесполезен.
Как проверить результат
Удалённый сеанс отсутствует
Сеанс появился снова с тем же пользователем
Количество занятых лицензий уменьшилось
Лицензия осталась занятой — сеанс не завершён
Устанавливается без ошибок
Ошибка «база используется» — остались активные сеансы
FAQ
Пользователь вышел из 1С, но сеанс висит. Что делать?
Подождите несколько минут — кластер завершает «спящие» сеансы по таймауту. Если сеанс не исчезает, удалите его вручную в консоли кластера через ветку «Сеансы». Проверьте, не запущен ли у пользователя второй экземпляр клиента или фоновое задание от его имени.
Можно ли отключить сеанс, не имея прав администратора кластера?
Нет. Удаление сеансов в консоли кластера требует прав администратора кластера или информационной базы. Рядовой пользователь может завершить только свой собственный сеанс штатным выходом из программы.
Как отключить все сеансы сразу перед обновлением?
В типовых конфигурациях используйте «Блокировку работы пользователей» в разделе администрирования — она предупредит всех и завершит сеансы по расписанию. В консоли кластера можно установить блокировку сеансов в свойствах базы и затем удалить оставшиеся сеансы группой.
Что будет с данными пользователя при принудительном отключении?
Все несохранённые данные будут потеряны: незаписанные документы, открытые формы, введённые строки. Записанные в базу данные не пострадают — принудительное завершение сеанса не повреждает информационную базу.
Как отключить сеанс в файловой базе без сервера 1С?
Штатного инструмента принудительного отключения в файловом режиме нет. Варианты: попросить пользователя выйти, использовать механизм блокировки работы пользователей в типовой конфигурации или завершить процесс 1cv8.exe на компьютере пользователя удалённо — последний способ приводит к потере несохранённых данных.
Почему после удаления сеанса лицензия не освободилась?
Возможно, у пользователя есть второй сеанс от того же компьютера, либо лицензия занята другим сеансом. Проверьте полный список сеансов в кластере и отфильтруйте по имени пользователя. Также убедитесь, что вы удалили сеанс, а не соединение.
Что важно запомнить
Основной инструмент отключения сеансов в клиент-серверном режиме — консоль кластера, ветка «Сеансы». Перед принудительным завершением предупредите пользователя, а для плановых работ используйте блокировку сеансов. После удаления проверьте, что сеанс не пересоздался и лицензия освободилась.