Администрирование · 9 мин
Как закрыть сессию пользователя в 1С
Как завершить сеанс пользователя в 1С: через консоль сервера, кластер, конфигуратор, командную строку и программно. Пошаговые инструкции и типичные ошибки.
Активные сеансы пользователей нередко мешают административным работам: обновлению конфигурации, восстановлению из архива, монопольному доступу к базе. Зависший или «забытый» сеанс блокирует регламентные задания и не даёт выполнить обслуживание, а принудительное завершение работы через «крестик» на терминале не всегда закрывает соединение с сервером 1С.
Способ завершения сеанса зависит от режима работы базы — файлового или клиент-серверного — и от того, есть ли у вас права администратора. В клиент-серверном варианте основной инструмент — консоль управления сервером 1С, в файловом — встроенные механизмы конфигуратора или перезапуск службы доступа к файлам.
Важно различать понятия: сеанс — это логическое подключение пользователя к информационной базе, а соединение — технический канал между клиентом и сервером. Один сеанс может держать несколько соединений, поэтому корректно завершать именно сеанс, а не «убивать» процесс rphost на сервере.
Что нужно проверить перед завершением сеанса
Принудительное закрытие сеанса равносильно аварийному выключению программы у пользователя: все несохранённые документы, открытые формы и введённые данные будут потеряны. Если в момент разрыва выполнялась запись транзакции, есть риск получить ошибки блокировок или незавершённые операции, которые придётся разбирать вручную.
Перед действием уточните: кто работает в базе, какие регламентные задания запущены, идёт ли обмен данными с другими системами. Сеанс фонового задания, выполняющего синхронизацию, завершать в середине обмена нежелательно — лучше дождаться окончания или остановить обмен штатными средствами.
Закрытие сеанса через консоль сервера 1С
Это штатный и самый безопасный способ для клиент-серверных баз. Откройте «Консоль администрирования серверов 1С:Предприятия», раскройте нужный кластер, затем узел «Сеансы». В списке отобразятся все активные сеансы с указанием пользователя, приложения, времени начала и компьютера.
Найдите нужный сеанс по имени пользователя или компьютеру, выделите его и нажмите «Удалить» (или пункт контекстного меню «Удалить»). Сеанс завершится немедленно, у пользователя на экране появится сообщение о разрыве соединения с сервером.
- 1Откройте консоль администрирования серверов 1С с правами администратора кластера
- 2Раскройте кластер и перейдите в раздел «Сеансы»
- 3Найдите сеанс по пользователю, компьютеру или приложению
- 4Выделите сеанс и нажмите «Удалить»
- 5Проверьте, что сеанс исчез из списка, а соединения закрыты
Если нужно завершить все сеансы разом — например, перед обновлением — выделите их списком через Shift или Ctrl и удалите группой. При этом фоновые задания лучше завершать вручную по одному, чтобы видеть, какое именно задание прерывается.
Завершение сеансов в файловой базе
В файловом режиме консоли кластера нет, поэтому используются другие механизмы. Если база открыта через веб-сервер или у вас есть доступ к конфигуратору, зайдите в меню «Администрирование → Активные пользователи». В типовых конфигурациях на базе БСП (Библиотека стандартных подсистем) там же доступно завершение сеансов других пользователей при наличии прав администратора.
Если база лежит в общей сетевой папке и пользователь «завис», его подключение можно сбросить на уровне операционной системы: на компьютере, где физически хранится файл базы, откройте «Управление компьютером → Общие папки → Открытые файлы» и закройте файлы, открытые нужным пользователем. Это грубый метод, но рабочий, когда штатные средства недоступны.
Программное завершение сеансов
Администраторы часто автоматизируют завершение сеансов перед регламентным обслуживанием. Основной инструмент — административный интерфейс через COM-соединение (V83.COMConnector) или через RAS (сервер администрирования кластера) с использованием утилиты rac в командной строке.
Утилита rac позволяет получить список сеансов и завершить их скриптом. Сначала запрашивается список сеансов кластера, затем по идентификатору сеанса выполняется команда terminate. Это удобно для ночных скриптов обновления: сначала блокируется начало новых сеансов, затем завершаются текущие.
rac session --cluster=<ID_кластера> list
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>В типовых конфигурациях с БСП есть обработка «Блокировка работы пользователей» (или аналогичная константа «Блокировка сеансов»): она не разрывает сеансы мгновенно, а просит пользователей завершить работу в течение заданного времени, после чего завершает оставшиеся сеансы принудительно. Это самый корректный сценарий для планового обслуживания.
Блокировка новых подключений и вывод пользователей
Завершать сеансы по одному бессмысленно, если пользователи тут же подключаются заново. Поэтому перед обслуживанием устанавливается блокировка начала сеансов. В консоли кластера это делается в свойствах информационной базы: параметры «Блокировка начала сеансов включена», время начала и окончания, а также код разрешения для администратора.
Код разрешения позволяет администратору войти в базу, пока действует блокировка: в параметрах запуска указывается строка вида /UC код. Не забудьте снять блокировку после завершения работ — иначе утром пользователи не смогут войти в базу.
Способы завершения сеансов
Штатный способ для клиент-серверных баз; требует прав администратора кластера и доступа к серверу
Корректный плановый вывод пользователей с предупреждением; работает только в конфигурациях на БСП
Подходит для автоматизации ночного обслуживания; требует настройки RAS и аккуратности с идентификаторами
Аварийный вариант для файловых баз; риск повреждения данных при активной записи
Типичные ошибки и как их избежать
Самая частая ошибка — завершение процесса rphost или ragent на сервере вместо конкретного сеанса. Это роняет всех пользователей кластера сразу и может прервать десятки транзакций. Процессы сервера перезапускают только при реальных сбоях самого сервера 1С.
Вторая ошибка — забыть про фоновые задания. Сеанс фонового задания тоже занимает соединение и может держать монопольный режим. Перед обновлением конфигурации проверяйте список сеансов полностью, включая сеансы с приложением «BackgroundJob».
Проверка результата
После завершения сеанса убедитесь, что он действительно исчез: обновите список сеансов в консоли кластера. Если сеанс появился снова с тем же пользователем — вероятно, у пользователя включено автоматическое переподключение или запущен тонкий клиент, который сам восстанавливает соединение.
Дополнительно проверьте список соединений кластера: иногда соединение «зависает» после удаления сеанса и освобождается по таймауту. Для критичных операций дождитесь, пока список соединений тоже очистится, либо завершите зависшее соединение вручную.
Как проверить результат
Нужный сеанс отсутствует после обновления списка
Сеанс появляется снова — клиент переподключается автоматически
Соединения завершённого сеанса освобождены
Соединение висит — завершите его вручную или дождитесь таймаута
Устанавливается без ошибок
Ошибка блокировки — остались активные сеансы или фоновые задания
Часто задаваемые вопросы
Можно ли закрыть сеанс пользователя без прав администратора?
Нет. Завершение чужих сеансов требует прав администратора кластера (в клиент-серверном режиме) или роли с правами администрирования в конфигурации. Обычный пользователь может завершить только собственный сеанс, просто выйдя из программы.
Что увидит пользователь при принудительном завершении сеанса?
Появится сообщение о разрыве соединения с сервером, после чего клиентское приложение закроется или предложит перезапуститься. Несохранённые данные в открытых формах будут потеряны, поэтому пользователей стоит предупреждать заранее.
Зависший сеанс не удаляется из консоли кластера. Что делать?
Сначала попробуйте завершить связанные соединения в разделе «Соединения». Если не помогает — проверьте, не держит ли сеанс рабочий процесс с высокой нагрузкой. Крайняя мера — перезапуск службы агента сервера 1С, но она затронет всех пользователей кластера.
Как завершить все сеансы перед обновлением конфигурации?
Установите блокировку начала сеансов с кодом разрешения, дождитесь выхода пользователей или завершите оставшиеся сеансы списком в консоли кластера, проверьте отсутствие фоновых заданий — и только после этого устанавливайте монопольный режим и обновляйтесь.
Отличается ли завершение сеанса в веб-клиенте?
Механика та же: сеанс веб-клиента отображается в консоли кластера и завершается так же. Отличие в том, что у пользователя просто закроется вкладка или появится сообщение об ошибке соединения в браузере. Закрытие вкладки браузера само по себе не всегда сразу завершает сеанс — он освобождается по таймауту.
Почему после выхода пользователя сеанс ещё висит в списке?
Сеансы завершаются не мгновенно: клиентское приложение может поддерживать соединение некоторое время, а спящие сеансы освобождаются по таймауту, заданному в свойствах информационной базы. Если сеанс висит дольше установленного таймаута — завершите его вручную.
Что важно запомнить
Штатный способ закрыть сеанс — консоль кластера, раздел «Сеансы», команда «Удалить». Перед массовым завершением включайте блокировку новых сеансов и проверяйте фоновые задания. Не завершайте процессы сервера вместо сеансов и всегда предупреждайте пользователей о принудительном разрыве.