Администрирование · 10 мин
Активные сеансы 1С не завершаются принудительно: причины и решение
Почему в 1С появляется ошибка «имеются активные сеансы работы с программой, которые не могут быть завершены принудительно» и как корректно завершить зависшие сеансы.
Сообщение «Имеются активные сеансы работы с программой, которые не могут быть завершены принудительно» появляется при попытке установить монопольный режим, заблокировать базу для обновления или завершить сеансы пользователей через консоль кластера. Ошибка означает, что платформа видит открытые соединения с информационной базой, но штатные механизмы не смогли их закрыть: сеанс завис, пользователь держит открытым клиентское приложение, либо соединение «повисло» после аварийного отключения компьютера.
Проблема критична для администраторов, потому что блокирует регламентные операции: обновление конфигурации, загрузку данных, резервное копирование в монопольном режиме. При этом грубые действия — перезагрузка сервера или удаление процессов вручную — могут привести к потере несохранённых данных пользователей и битым транзакциям в базе.
Ниже разобраны причины зависания сеансов, способы их корректного завершения в файловом и клиент-серверном вариантах, а также меры профилактики, которые снижают частоту проблемы.
Почему сеансы не завершаются: основные причины
Чаще всего источник проблемы — не пользователи, а «мёртвые» соединения. Когда компьютер пользователя выключается аварийно, теряет сеть или клиент 1С завершается с ошибкой, сервер 1С ещё некоторое время считает сеанс активным. Пока не истечёт таймаут проверки соединений, платформа отказывается завершать такой сеанс принудительно.
Вторая группа причин — программные подключения, о которых администратор забывает: фоновые задания, регламентные операции, COM-соединения из внешних скриптов, веб-сервисы, сеансы отладчика и автоматизированного тестирования. Они отображаются в консоли кластера как отдельные сеансы и тоже блокируют монопольный режим.
Третья причина — реально работающие пользователи. Если кто-то держит открытым тонкий или толстый клиент, платформа корректно отказывается разрывать сеанс без потери данных, особенно когда у пользователя есть несохранённые изменения в открытом документе.
Время последнего обращения в консоли кластера
Список фоновых заданий и их состояние
Внешние скрипты, обмены, планировщики задач
Процессы 1cv8 на компьютере пользователя
Как найти зависшие сеансы в консоли кластера
В клиент-серверном варианте откройте консоль администрирования серверов 1С, выберите нужную информационную базу и перейдите на вкладку «Сеансы». Здесь видны все подключения: приложение, с которого подключён пользователь, имя компьютера, время начала сеанса и время последнего обращения к серверу.
Ключевой признак зависшего сеанса — давнее время последнего обращения при отсутствии реальной работы пользователя. Если пользователь уверяет, что давно закрыл программу, а сеанс висит с устаревшей активностью — это «мёртвое» соединение, которое сервер ещё не отработал по таймауту.
Отдельно проверьте вкладку «Соединения»: иногда сеанс уже удалён, а соединение с рабочим процессом осталось. Такие «осиротевшие» соединения также могут мешать установке монопольного режима, хотя в списке сеансов их уже нет.
Штатные способы завершения сеансов
Первый безопасный способ — удаление сеанса из консоли кластера: выделите сеанс и выберите «Удалить». Платформа пошлёт клиенту команду завершения. Если клиент жив, он закроется корректно; если завис — сеанс удалится из списка, но с задержкой, пока сервер убедится в отсутствии ответа.
В типовых конфигурациях на БСП есть обработка «Активные пользователи» (Администрирование — Обслуживание), которая позволяет завершать сеансы прямо из интерфейса 1С. Это удобно, когда у администратора нет доступа к консоли кластера, но есть права в самой базе.
Для массового завершения используйте блокировку сеансов: в свойствах информационной базы в консоли кластера установите «Блокировка начала сеансов включена» с нужным временем и кодом разрешения. Новые подключения прекратятся, а существующие пользователи получат сообщение с просьбой завершить работу.
- 1Откройте консоль кластера и посмотрите список сеансов базы
- 2Сверьте сеансы с реально работающими пользователями — предупредите их
- 3Завершите фоновые задания и проверьте регламентные операции
- 4Удалите зависшие сеансы через консоль
- 5Включите блокировку начала сеансов с кодом разрешения
- 6Повторите операцию, требующую монопольного режима
Что делать с «мёртвыми» сеансами, которые не удаляются
Если сеанс не удаляется штатно, самый безопасный путь — подождать срабатывания таймаутов кластера. Платформа периодически проверяет живость соединений, и «мёртвый» сеанс будет снят автоматически. Обычно это занимает от нескольких минут до десятков минут в зависимости от настроек кластера.
Когда ждать нельзя, помогает перезапуск рабочего процесса кластера (rphost), обслуживающего базу. В консоли кластера можно посмотреть, какой рабочий процесс держит соединения, и перезапустить именно его. Это мягче, чем перезапуск всего агента сервера.
Крайняя мера — перезапуск службы агента сервера 1С. Она гарантированно снимает все сеансы, но обрывает работу всех пользователей всех баз кластера без сохранения данных. Перед этим обязательно предупредите пользователей и дайте им время завершить работу.
Особенности файлового варианта
В файловой базе ошибка чаще всего связана с процессами 1cv8.exe, оставшимися на компьютерах пользователей после аварийного завершения. Попросите пользователей открыть диспетчер задач и завершить процессы 1cv8.exe и 1cv8c.exe, либо сделайте это удалённо, если есть доступ.
Если база размещена в сетевой папке, проверьте, не держит ли файл блокировки какой-либо компьютер. Иногда помогает команда net session на файловом сервере, показывающая открытые сетевые подключения к общей папке с базой.
После аварийного завершения файловой базы перед повторным запуском монопольных операций рекомендуется выполнить тестирование и исправление через конфигуратор — это заодно снимет устаревшие блокировки и проверит целостность данных.
Как выбрать действие
Профилактика: как снизить частоту зависших сеансов
Настройте в свойствах кластера параметры, отвечающие за отслеживание разорванных соединений: интервал проверки и допустимый объём памяти рабочих процессов. Корректные значения ускоряют автоматическое снятие «мёртвых» сеансов без ручного вмешательства.
Для регламентных обновлений используйте типовой механизм обновления с автоматической блокировкой сеансов и завершением работы пользователей — он корректно обрабатывает большинство ситуаций и выводит пользователям понятное предупреждение заранее.
Регулярно проверяйте внешние интеграции: скрипты обмена, COM-подключения и веб-сервисы должны завершать соединения после работы. «Подвисшие» интеграционные сеансы — частый скрытый источник проблемы, о котором вспоминают в последнюю очередь.
Проверка результата
После завершения сеансов убедитесь, что список сеансов в консоли кластера пуст либо содержит только ваше административное подключение. Затем повторите операцию, вызвавшую ошибку: установку монопольного режима, обновление конфигурации или загрузку данных.
Если операция выполнилась — снимите блокировку сеансов и сообщите пользователям о возобновлении работы. Проверьте журнал регистрации на предмет ошибок, возникших во время принудительного завершения: там видно, у каких пользователей были оборваны сеансы и не пострадали ли данные.
Как проверить результат
Пуст или только сеанс администратора
Остались сеансы без активности
Устанавливается без ошибки
Ошибка об активных сеансах повторяется
Нет массовых ошибок разрыва соединений
Ошибки транзакций и обрывов у пользователей
Частые вопросы
Почему сеанс не удаляется даже из консоли кластера?
Обычно это «мёртвое» соединение: клиент не отвечает, и сервер ждёт таймаут, прежде чем окончательно снять сеанс. Подождите несколько минут или перезапустите рабочий процесс кластера, обслуживающий базу.
Чем опасно принудительное завершение сеансов?
Пользователь теряет несохранённые данные в открытых документах. Если разрыв произошёл в середине транзакции, возможны ошибки в журнале регистрации, требующие проверки. Поэтому перед массовым завершением всегда предупреждайте пользователей.
Как завершить сеансы, если нет доступа к консоли кластера?
В конфигурациях на Библиотеке стандартных подсистем используйте обработку «Активные пользователи» в разделе «Администрирование». Она позволяет завершать сеансы из интерфейса 1С при наличии прав администратора в базе.
Может ли фоновое задание блокировать монопольный режим?
Да. Регламентные и фоновые задания создают собственные сеансы, которые платформа учитывает как активные. Перед установкой монопольного режима завершите или отмените выполняющиеся задания.
Что делать, если ошибка повторяется регулярно?
Проверьте внешние интеграции и скрипты, которые открывают соединения и не закрывают их, настройте таймауты кластера на отслеживание разорванных соединений и используйте типовой механизм обновления с автоматической блокировкой сеансов.
Что важно запомнить
Ошибка об активных сеансах почти всегда связана с зависшими соединениями, фоновыми заданиями или реально работающими пользователями. Действуйте по порядку: анализ сеансов, штатное завершение, блокировка новых подключений, и только в крайнем случае — перезапуск процессов с предупреждением пользователей.