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

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

Как завершить сессию пользователя 1С

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

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

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

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

Чем отличаются сеанс и соединение и почему это важно

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

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

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

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

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

Порядок действий в консоли кластера
  1. 1
    Откройте оснастку «Администрирование серверов 1С Предприятия» на сервере или на машине администратора.
  2. 2
    Разверните нужный кластер, затем узел «Информационные базы» и выберите базу.
  3. 3
    Перейдите в подраздел «Сеансы» — отобразится список активных сеансов с именами пользователей, компьютерами и временем начала.
  4. 4
    Найдите нужный сеанс по пользователю или компьютеру, выделите его.
  5. 5
    Щёлкните правой кнопкой и выберите «Удалить» или нажмите Delete.
  6. 6
    Обновите список и убедитесь, что сеанс исчез, а лицензия освобождена.

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

Можно выделить сразу несколько сеансов (через Ctrl или Shift) и удалить их одним действием — так отключают группу пользователей перед обновлением. Служебные сеансы (например, сеанс консоли кластера или фоновые задания) тоже видны в списке; не удаляйте их без необходимости, фоновые задания при удалении прерываются с ошибкой.

Как завершить сеанс в файловом режиме

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

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

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

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

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

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

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

Безопасное отключение всех перед обновлением
  1. 1
    Установите блокировку начала сеансов с кодом разрешения (через консоль кластера или механизм конфигурации).
  2. 2
    Сообщите пользователям о времени отключения — по почте, мессенджеру или через механизм оповещений.
  3. 3
    Дождитесь начала периода блокировки и проверьте список сеансов.
  4. 4
    Удалите оставшиеся сеансы вручную.
  5. 5
    Выполните обновление или регламентные работы.
  6. 6
    Снимите блокировку и проверьте, что пользователи могут войти.

Завершение сеансов программно и через сервер администрирования

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

Альтернатива — сервер администрирования RAS в связке с консольной утилитой rac. Она позволяет управлять кластером из командной строки, что удобно для скриптов планировщика: например, ночного завершения «забытых» сеансов, висящих дольше суток.

bash
rac session --cluster=<ид_кластера> terminate --infobase=<ид_базы> --session=<ид_сеанса>

Сначала получите список сеансов командой rac session list с указанием кластера и базы, найдите идентификатор нужного сеанса, затем передайте его в команду terminate. Для массового отключения скрипт перебирает сеансы в цикле. Учтите, что RAS должен быть запущен, а у учётной записи, от имени которой выполняется команда, должны быть права администратора кластера.

Как проверить результат и что делать при проблемах

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

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

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

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

Удалённый сеанс отсутствует после обновления списка

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

Сеанс появился снова — пользователь переподключился, нужна блокировка входа

Занятые лицензии
Норма

Число используемых лицензий уменьшилось на число завершённых сеансов

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

Лицензии не освободились — возможно, остались соединения или сеансы других приложений этого пользователя

Блокировки объектов
Норма

Документ открывается другим пользователем без сообщения о блокировке

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

Блокировка осталась — проверьте фоновые задания и повторите завершение

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

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

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

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

Можно ли завершить сеанс пользователя, не имея прав администратора?

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

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

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

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

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

Как завершить сеанс, если база работает в файловом режиме и пользователь ушёл домой?

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

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

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

Освобождается ли лицензия сразу после завершения сеанса?

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

Итог

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

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