Администрирование · 10 мин
Как принудительно завершить сеанс пользователя в 1С
Способы принудительно выгнать пользователя из 1С: консоль кластера, администрирование в конфигураторе, блокировка сеансов, команды СУБД. Риски и проверка результата.
Зависший сеанс 1С блокирует обновление конфигурации, мешает регламентным заданиям и держит лицензию, поэтому завершить чужой сеанс приходится принудительно: через консоль кластера серверов 1С, администрирование СУБД или завершение процесса на компьютере пользователя. Выбор способа зависит от режима работы базы — файлового или клиент-серверного — а также от наличия у вас прав администратора кластера или СУБД.
Важно понимать: принудительное завершение сеанса — это всегда аварийная мера. Незавершённые транзакции откатываются, несохранённые данные пользователя теряются, а при неудачном стечении обстоятельств в базе могут остаться «битые» ссылки или незакрытые блокировки. Поэтому сначала стоит попробовать штатные механизмы оповещения и мягкого завершения, а жёсткое отключение применять осознанно.
Ниже разобраны все рабочие способы — от консоли кластера серверов 1С до завершения процессов на уровне операционной системы, с указанием рисков каждого и порядком проверки результата.
Как определить, кто и как подключён к базе
Прежде чем кого-то отключать, нужно понять, какие сеансы активны и какой из них мешает. В типовых конфигурациях (БСП) откройте раздел «Администрирование» → «Обслуживание» → «Активные пользователи». Там виден список сеансов с именем пользователя, компьютером, временем начала и режимом работы (толстый, тонкий клиент, фоновое задание, COM-соединение).
В клиент-серверном варианте ту же картину, но полнее, показывает консоль кластера: пункт «Сеансы» внутри нужной информационной базы. Здесь отображаются также спящие сеансы, соединения с СУБД и сеансы системных фоновых заданий.
Обратите внимание на колонку «Программа» или тип сеанса. Сеанс вида «ФоновоеЗадание» или «ComConnection» нельзя «попросить» завершиться сообщением — его можно только удалить. Зависшее регламентное задание часто выглядит именно так.
Проверьте время начала сеанса и попробуйте связаться с пользователем
Посмотрите, какое задание выполняется, и удалите сеанс через консоль
Проверьте список активных пользователей и сеансы в консоли кластера
Попросите перезапустить клиент или завершите процесс 1cv8.exe на его ПК
Завершение сеанса через консоль кластера серверов 1С
Это основной способ для клиент-серверных баз. Откройте оснастку «Администрирование серверов 1С Предприятия» на сервере (или подключитесь к кластеру с рабочего места администратора), раскройте нужный кластер, найдите информационную базу и перейдите в пункт «Сеансы».
Найдите нужный сеанс по имени пользователя или компьютеру, выделите его и нажмите «Удалить» (или выберите соответствующий пункт контекстного меню). Сеанс завершается немедленно: у пользователя клиент закроется с сообщением о разрыве соединения, все его несохранённые данные будут потеряны.
Если нужно выгнать всех сразу — например, перед обновлением конфигурации — удобнее не удалять сеансы по одному, а установить блокировку сеансов на информационной базе (свойства базы → «Блокировка сеансов») с заданным временем начала и сообщением пользователям. Существующие сеансы при этом всё равно придётся удалить вручную или дождаться их завершения.
- 1Откройте оснастку «Администрирование серверов 1С Предприятия» и подключитесь к кластеру
- 2Раскройте нужную информационную базу и перейдите в раздел «Сеансы»
- 3Найдите сеанс по пользователю, компьютеру или приложению
- 4Выделите сеанс и выберите «Удалить» в контекстном меню
- 5Проверьте, что сеанс исчез из списка, а связанное соединение с СУБД закрылось
Завершение через «Активные пользователи» и программные средства
В типовых конфигурациях на базе Библиотеки стандартных подсистем обработка «Активные пользователи» позволяет не только смотреть список, но и завершать выбранные сеансы кнопкой «Завершить сеанс». Фактически она вызывает тот же механизм кластера, поэтому у учётной записи, под которой вы работаете, должны быть административные права.
Для массовых или регулярных задач удобно программное завершение через COM-объект V83.ComConnector или через утилиту RAC (консольный административный клиент кластера). Например, RAC позволяет получить список сеансов и завершить конкретный по его идентификатору — это удобно встраивать в скрипты обслуживания перед ночным обновлением.
rac session --cluster=<ид_кластера> terminate --infobase=<ид_базы> --session=<ид_сеанса>Учтите, что для работы RAC нужно знать идентификаторы кластера, базы и сеанса — их получают командами rac cluster list, rac infobase summary list и rac session list. Без точных идентификаторов команда завершит не тот сеанс или завершится ошибкой.
Файловый режим: монопольный доступ и отключение пользователей
В файловой базе нет кластера серверов, поэтому механика другая. Если база открыта по сети и вам нужно выполнить операцию, требующую монопольного доступа (обновление конфигурации, тестирование и исправление), войдите в конфигуратор и при установке монопольного режима система предложит завершить активные сеансы — подтвердите отключение.
Если пользователь физически недоступен, а его сеанс держит базу, сеанс можно снять на стороне его компьютера: завершить процесс 1cv8.exe через диспетчер задач (или диспетчер задач на терминальном сервере, если база открыта в терминальной сессии). Это грубый способ: при обрыве во время записи в файловую базу есть риск повреждения файла 1Cv8.1CD.
Крайние меры: СУБД и операционная система
Если консоль кластера недоступна или сеанс «завис» так, что не удаляется, можно завершить соединение на уровне СУБД. В MS SQL Server это делается через Activity Monitor или командой KILL <spid> для соответствующего процесса, в PostgreSQL — функцией pg_terminate_backend(pid). Найти нужный процесс помогают имя приложения и хост, с которого установлено соединение.
Самый грубый вариант — завершение рабочего процесса rphost на сервере 1С. Это убьёт все сеансы, обслуживаемые этим процессом, а не один конкретный, поэтому применять его стоит только когда процесс действительно завис и не отвечает. Кластер автоматически запустит новый рабочий процесс, но пользователи потеряют несохранённые данные.
Проверка результата и типичные проблемы
После завершения сеанса убедитесь, что он действительно исчез: обновите список сеансов в консоли, проверьте список активных пользователей в базе и, при необходимости, соединения на стороне СУБД. Иногда сеанс пропадает из консоли, но соединение с СУБД остаётся висеть ещё некоторое время — это нормально, оно закроется по таймауту.
Если цель была в монопольном доступе — сразу попробуйте установить монопольный режим или выполнить требуемую операцию. Если система снова сообщает об активных соединениях, значит, остались незамеченные сеансы: фоновые задания, сеансы отладки, COM-соединения от внешних обработок или веб-сервисов.
Как проверить результат
Нужный сеанс отсутствует после обновления списка
Сеанс появился снова — пользователь или задание переподключилось
Устанавливается без сообщений об активных соединениях
Ошибка о занятости — ищите оставшиеся фоновые сеансы и COM-соединения
Соединение завершено в течение короткого времени
Соединение висит долго — завершите его на уровне СУБД
Клиент закрылся с сообщением о разрыве, повторный вход возможен
Пользователь не может войти — проверьте, не включена ли блокировка сеансов
Профилактика: блокировка сеансов и регламент обслуживания
Чтобы не гонять пользователей вручную каждый раз, настройте регламент: перед плановым обслуживанием включайте блокировку сеансов с заранее заданным временем и понятным сообщением («База будет недоступна с 22:00 до 23:00, завершите работу»). Пользователи, пытающиеся войти, увидят это сообщение, а администратору останется только завершить оставшиеся сеансы.
Полезно также настроить завершение неактивных сеансов по таймауту на уровне кластера и следить за регламентными заданиями, которые любят «зависать» и держать соединения. Регулярный мониторинг избавляет от большинства аварийных отключений.
Что важно запомнить
В клиент-серверной 1С сеанс завершают через консоль кластера или «Активных пользователей», в файловой — через монопольный режим или завершение процесса на ПК пользователя. Перед отключением предупреждайте людей, перед обслуживанием включайте блокировку сеансов, а результат всегда проверяйте по списку сеансов и попытке установить монопольный режим.
Частые вопросы
Что увидит пользователь при принудительном завершении сеанса?
Клиент 1С закроется с сообщением о разрыве соединения с сервером или о завершении сеанса администратором. Все несохранённые данные (незаписанные документы, открытые формы с изменениями) будут потеряны без возможности восстановления. Повторно войти в базу пользователь сможет сразу, если не установлена блокировка сеансов.
Можно ли завершить сеанс без прав администратора кластера?
Нет. Удаление сеансов через консоль кластера, RAC или обработку «Активные пользователи» требует административных прав на кластер или на информационную базу. Обычный пользователь может завершить только свой собственный сеанс — штатным выходом из программы.
Почему после удаления сеанса пользователь сразу появляется снова?
Некоторые подключения восстанавливаются автоматически: фоновые задания перезапускаются по расписанию, внешние программы переподключаются через COM или веб-сервисы, а пользователь мог просто войти заново. Чтобы этого избежать, перед отключением установите блокировку сеансов и при необходимости остановите регламентные задания.
Опасно ли завершать сеанс во время проведения документов?
Клиент-серверная 1С обычно корректно откатывает незавершённую транзакцию, и база остаётся согласованной. Но если обрыв происходит во время сложных обменов, закрытия месяца или массовой обработки, возможны частично записанные данные вне транзакций. В файловом режиме риск повреждения базы при обрыве записи заметно выше.
Как выгнать всех пользователей из файловой базы, если я не могу добраться до их компьютеров?
Если база лежит в сетевой папке, войдите в конфигуратор и установите монопольный режим с отключением активных сеансов — 1С сама завершит подключения. Если кто-то держит базу «мёртвым» сеансом после сбоя, помогает закрытие открытых файлов на файловом сервере (оснастка «Общие папки» → «Открытые файлы»), но делайте это с осторожностью и при наличии копии базы.