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

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

Как снять зависший сеанс 1С: все рабочие способы

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

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

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

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

Как понять, что сеанс действительно завис

Признак зависшего сеанса — отсутствие активности при живом подключении. В консоли кластера у такого сеанса колонки «Прочитано», «Записано» и «Вызов СУБД» долго не меняются, время последнего вызова устарело, а сам пользователь подтверждает, что программа у него закрыта или компьютер перезагружался.

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

Сеанс есть, активности нетВероятно зависший сеанс

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

Ошибка конфликта блокировокСеанс держит блокировку

Найдите сеанс владельца блокировки в консоли или журнале регистрации

Не устанавливается монопольный режимЕсть активные соединения

Проверьте список активных пользователей в конфигураторе

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

Основной инструмент для клиент-серверного варианта — оснастка «Администрирование серверов 1С:Предприятия». Она устанавливается вместе с сервером 1С и доступна на машине, где развёрнут кластер, либо на рабочем месте администратора при подключении к серверу по сети.

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

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

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

Что делать, если сеанс не удаляется

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

Снятие сеанса через конфигуратор

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

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

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

Завершение сеансов средствами типовой конфигурации

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

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

Снятие зависшего сеанса в файловой базе

В файловом варианте нет кластера и консоли: сеанс существует, пока процесс 1С держит открытым файл 1Cv8.1CD. Зависший сеанс здесь — это либо зависший процесс на компьютере пользователя, либо «осиротевшая» блокировка файла на сетевом ресурсе.

Порядок действий: сначала определите по списку активных пользователей, на каком компьютере открыт сеанс. Затем на этом компьютере через диспетчер задач завершите процессы 1cv8.exe, 1cv8c.exe или веб-браузер, если работа шла через веб-клиент. Если компьютер выключен, а файл всё ещё заблокирован, на файловом сервере закройте открытые сетевые файлы: в Windows это делается через «Управление компьютером» → «Общие папки» → «Открытые файлы».

Аварийные способы и их риски

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

  • Перезапуск службы агента сервера 1С — завершает все сеансы всех баз кластера. Применяйте в нерабочее время или предупредив пользователей.
  • Завершение процесса rphost — рабочий процесс, обслуживающий сеансы. После принудительного завершения кластер запустит новый процесс, но все сеансы старого будут разорваны.
  • Завершение соединений на стороне СУБД — например, через pg_stat_activity в PostgreSQL или Activity Monitor в MS SQL. Снимает соединение с базой, но сеанс в кластере может остаться, поэтому способ используют как дополнение.

Сравнение способов

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

Точечное удаление сеанса, основной способ для клиент-серверной базы; нужен доступ к серверу администрирования

Интерфейс типовой конфигурации

Удобно без доступа к серверу; работает только в клиент-серверном режиме и требует прав администратора

Перезапуск службы агента

Помогает при массовых зависаниях; разрывает все сеансы кластера, применять только с предупреждением пользователей

Диспетчер задач / закрытие файлов

Единственный вариант для файловой базы; требует доступа к компьютеру пользователя или файловому серверу

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

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

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

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

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

Зависший сеанс отсутствует

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

Сеанс появился снова с тем же пользователем

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

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

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

Сообщение об активных соединениях

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

Ошибок конфликта блокировок нет

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

Блокировка сохраняется — ищите фоновое задание или другое соединение

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

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

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

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

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

Что будет с данными пользователя, если принудительно удалить его сеанс?

Все несохранённые данные (открытые незаписанные документы, незакрытые формы) будут потеряны. Данные, уже зафиксированные в транзакциях, не пострадают. Если в момент удаления выполнялась запись, транзакция откатится, и база останется в согласованном состоянии.

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

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

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

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

Как снять сеанс, если база работает в облачном сервисе?

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

Чем отличается сеанс от соединения в консоли кластера?

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

Как автоматически завершать неактивные сеансы?

В свойствах информационной базы в консоли кластера задайте параметры завершения неактивных сеансов по таймауту. Дополнительно на сервере терминалов настройте автоматический logoff отключённых RDP-сессий — это устраняет самую частую причину зависаний.