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

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

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

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

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

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

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

Что нужно проверить перед завершением сеанса

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

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

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

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

Найдите нужный сеанс по имени пользователя или компьютеру, выделите его и нажмите «Удалить» (или пункт контекстного меню «Удалить»). Сеанс завершится немедленно, у пользователя на экране появится сообщение о разрыве соединения с сервером.

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

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

Завершение сеансов в файловой базе

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

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

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

Администраторы часто автоматизируют завершение сеансов перед регламентным обслуживанием. Основной инструмент — административный интерфейс через COM-соединение (V83.COMConnector) или через RAS (сервер администрирования кластера) с использованием утилиты rac в командной строке.

Утилита rac позволяет получить список сеансов и завершить их скриптом. Сначала запрашивается список сеансов кластера, затем по идентификатору сеанса выполняется команда terminate. Это удобно для ночных скриптов обновления: сначала блокируется начало новых сеансов, затем завершаются текущие.

bash
rac session --cluster=<ID_кластера> list
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>

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

Блокировка новых подключений и вывод пользователей

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

Код разрешения позволяет администратору войти в базу, пока действует блокировка: в параметрах запуска указывается строка вида /UC код. Не забудьте снять блокировку после завершения работ — иначе утром пользователи не смогут войти в базу.

Способы завершения сеансов

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

Штатный способ для клиент-серверных баз; требует прав администратора кластера и доступа к серверу

Блокировка сеансов в БСП

Корректный плановый вывод пользователей с предупреждением; работает только в конфигурациях на БСП

Утилита rac / скрипты

Подходит для автоматизации ночного обслуживания; требует настройки RAS и аккуратности с идентификаторами

Закрытие открытых файлов в Windows

Аварийный вариант для файловых баз; риск повреждения данных при активной записи

Типичные ошибки и как их избежать

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

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

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

Проверка результата

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

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

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

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

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

Нужный сеанс отсутствует после обновления списка

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

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

Список соединений
Норма

Соединения завершённого сеанса освобождены

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

Соединение висит — завершите его вручную или дождитесь таймаута

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

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

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

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

Часто задаваемые вопросы

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

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

Что увидит пользователь при принудительном завершении сеанса?

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

Зависший сеанс не удаляется из консоли кластера. Что делать?

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

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

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

Отличается ли завершение сеанса в веб-клиенте?

Механика та же: сеанс веб-клиента отображается в консоли кластера и завершается так же. Отличие в том, что у пользователя просто закроется вкладка или появится сообщение об ошибке соединения в браузере. Закрытие вкладки браузера само по себе не всегда сразу завершает сеанс — он освобождается по таймауту.

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

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

Итог

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

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