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

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

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

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

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

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

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

Как определить, что сеанс действительно нужно завершать

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

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

Время бездействияДавно нет активности

Сравните время последнего вызова сеанса с текущим: часы простоя — признак зависшего сеанса

Пользователь на местеПрограмма работает

Спросите пользователя, выполняет ли он длительную операцию, прежде чем отключать

Режим базыФайловый или клиент-серверный

От режима зависит инструмент: консоль кластера работает только с серверными базами

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

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

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

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

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

Завершение сеанса в файловом режиме

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

Практические пути: связаться с пользователем и попросить закрыть программу; использовать типовую обработку «Активные пользователи» (в конфигурациях на БСП она позволяет завершать сеансы при работе через файловый веб-сервер или в некоторых сценариях); либо завершить процесс 1cv8.exe на компьютере пользователя — вручную через диспетчер задач или удалённо.

Если база лежит в общей сетевой папке и сеанс завис из-за отключённого компьютера, соединение обычно снимается само после таймаута операционной системы. Ускорить можно, перезагрузив компьютер пользователя или закрыв файловые дескрипторы на файловом сервере.

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

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

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

Через RAC сначала получают список сеансов командой rac session list, затем завершают нужные по идентификатору. Это удобно для скриптов: можно отфильтровать сеансы по пользователю, времени простоя или приложению и завершить их пакетно.

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

Риски и что проверить после завершения

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

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

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

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

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

Завершённый сеанс отсутствует

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

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

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

Соединение закрыто или закрывается по таймауту

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

Соединение активно и потребляет ресурсы

Работа пользователя
Норма

Пользователь может войти заново

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

При входе ошибка блокировки — проверьте настройки блокировки базы

Типичные ошибки администраторов

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

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

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

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

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

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

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

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

Клиентское приложение или фоновое задание автоматически переподключается. Чтобы этого не происходило, перед массовым отключением установите блокировку соединений в свойствах информационной базы с указанием времени начала блокировки.

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

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

Как отключить пользователя в файловой базе, если его компьютер недоступен?

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

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

Фоновое задание — отдельная задача внутри сеанса. В консоли кластера можно просмотреть и отменить фоновые задания, не трогая сеанс пользователя. Это полезно, когда «висит» не пользователь, а регламентная операция.

Итог

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

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