Администрирование · 9 мин
Как принудительно закрыть сеансы пользователей 1С
Способы принудительного завершения сеансов пользователей 1С: консоль кластера, конфигуратор, блокировка базы и команды для клиент-серверного режима.
Принудительное завершение сеансов пользователей — стандартная задача администратора 1С. Она возникает при регламентных операциях: обновлении конфигурации, восстановлении из резервной копии, обслуживании сервера СУБД, а также когда «зависший» сеанс блокирует работу других пользователей или удерживает лицензии.
Подход зависит от режима работы базы. В файловом варианте сеансы закрываются через блокировку базы и завершение процессов на компьютерах пользователей. В клиент-серверном варианте основной инструмент — консоль кластера серверов 1С, где можно завершить любой сеанс централизованно. Дополнительно используются средства СУБД (MS SQL, PostgreSQL) и программные методы через встроенный язык.
Прежде чем завершать сеансы, убедитесь, что у пользователей нет несохранённых данных: принудительное закрытие обрывает открытые транзакции, и несохранённые документы будут потеряны. По возможности сначала отправьте предупреждение и дайте время на завершение работы.
Когда нужно завершать сеансы и что проверить заранее
Типовые ситуации, требующие принудительного закрытия сеансов: установка обновления конфигурации, требующая монопольного доступа; восстановление базы из копии; перезапуск сервера приложений или СУБД; «зависший» сеанс, который удерживает блокировки или лицензию; аварийное отключение при инциденте безопасности.
Перед завершением проверьте, какие сеансы активны и чем они заняты. В консоли кластера видно пользователя, время начала сеанса, последнюю активность и признак спящего сеанса. Сеансы с длительным отсутствием активности часто являются «мёртвыми» — их можно завершать без риска для данных. Активные сеансы с текущими вызовами СУБД лучше завершать после предупреждения.
Завершение сеансов через консоль кластера 1С
Консоль кластера — основной инструмент для клиент-серверного режима. Откройте оснастку «Администрирование серверов 1С Предприятия» на компьютере, где установлены компоненты сервера, разверните нужный кластер и перейдите в раздел «Сеансы». Здесь отображаются все активные сеансы рабочих процессов кластера.
Чтобы завершить конкретный сеанс, выделите его в списке и выберите в контекстном меню пункт «Удалить» (или нажмите Delete). Сеанс будет закрыт немедленно, а пользователь увидит сообщение о разрыве соединения с сервером. Для массового завершения выделите несколько сеансов с зажатой клавишей Ctrl или Shift.
Раздел «Соединения» показывает соединения с рабочими процессами. Завершение соединения также разрывает работу клиента, но обычно удобнее работать именно со списком сеансов — там видна привязка к информационной базе и пользователю.
- 1Откройте оснастку «Администрирование серверов 1С Предприятия»
- 2Разверните кластер и перейдите в раздел «Сеансы»
- 3Отфильтруйте список по информационной базе, если сеансов много
- 4Отправьте пользователям предупреждение о завершении работы
- 5Выделите нужные сеансы и нажмите Delete
- 6Проверьте, что список сеансов очистился, а фоновые задания остановлены
Блокировка базы для регламентных работ
Если задача — не просто выгнать пользователей, а провести обслуживание, правильный порядок такой: сначала установите блокировку соединений с информационной базой, затем дождитесь выхода пользователей или завершите оставшиеся сеансы. Блокировка не даст никому войти заново, пока вы работаете.
В клиент-серверном режиме блокировка устанавливается в консоли кластера: откройте свойства информационной базы, установите флаг «Блокировка регламентных заданий включена» и задайте параметры блокировки сеансов — дату начала, код разрешения и сообщение для пользователей. Код разрешения позволит войти администратору, минуя блокировку.
В файловом режиме блокировка устанавливается через конфигуратор: меню «Администрирование» → «Блокировка установки соединений с информационной базой». Укажите сообщение и код разрешения. Для типовых конфигураций доступна штатная обработка «Блокировка работы пользователей» в разделе администрирования — она делает то же самое из пользовательского режима.
Завершение сеансов в файловом режиме
В файловой базе нет централизованного списка сеансов для администратора, поэтому варианты ограничены. Основной сценарий: установите блокировку соединений, отправьте пользователям сообщение (через мессенджер, почту или механизм оповещений типовой конфигурации) и дождитесь выхода.
Если пользователь оставил сеанс открытым и ушёл, сеанс можно завершить на его компьютере: закрыть процесс 1cv8.exe через диспетчер задач. Если база открыта по сети, а компьютер пользователя недоступен, помогает перезапуск общего сетевого ресурса или сервера, где лежит файл базы — открытые файловые дескрипторы будут сброшены. Это грубый метод, применяйте его только когда других вариантов нет.
Проверить, остались ли активные подключения к файловой базе, можно по наличию файла блокировок 1Cv8.1CL в каталоге базы и по списку открытых файлов на сервере (оснастка «Общие папки» → «Открытые файлы» в Windows).
Программные способы и автоматизация
Для регулярных регламентных операций завершение сеансов автоматизируют. В типовых конфигурациях на базе БСП есть механизм завершения работы пользователей: при установке блокировки активным пользователям показывается предупреждение с таймером, после чего их сеансы завершаются штатно, с сохранением настроек.
Администрирование кластера из скриптов выполняется через утилиту rac (входит в комплект сервера 1С). Она позволяет получить список сеансов и завершить их по условию — например, все сеансы конкретной базы.
rac session --cluster=<ID_кластера> terminate --infobase=<ID_базы>Для MS SQL Server как крайнюю меру используют завершение процессов на стороне СУБД (KILL по spid), но это разрывает соединения грубо и может оставить незавершённые транзакции. Предпочтительнее всегда завершать сеансы на уровне кластера 1С — тогда платформа корректно освобождает ресурсы.
Проверка результата и частые проблемы
После завершения сеансов убедитесь, что база действительно свободна. В консоли кластера список сеансов по базе должен быть пуст (кроме вашего сеанса и служебных). Проверьте также список фоновых заданий — выполняющиеся регламентные задания тоже удерживают сеансы и могут помешать монопольному доступу.
Если сеанс появляется снова сразу после завершения — у пользователя включено автоматическое переподключение тонкого клиента или работает внешняя программа (обмен, интеграция), которая переподключается сама. Найдите источник по имени компьютера и приложению в свойствах сеанса.
Как проверить результат
Сеансов целевой базы нет или остался только сеанс администратора
Сеансы появляются снова — ищите авто-подключение или интеграцию
Нет выполняющихся заданий по базе
Задание выполняется — оно удерживает сеанс и блокирует обновление
Обновление конфигурации запускается без ошибок занятости
Ошибка «информационная база занята» — сеансы ещё активны
FAQ
Можно ли завершить сеанс конкретного пользователя, не трогая остальных?
Да. В консоли кластера в разделе «Сеансы» найдите сеанс нужного пользователя по имени и завершите только его через Delete. Остальные сеансы продолжат работу без прерываний.
Пользователь завершён, но лицензия не освободилась. Что делать?
Лицензия может удерживаться спящим сеансом или соединением, которые не завершились вместе с основным сеансом. Проверьте разделы «Сеансы» и «Соединения» в консоли кластера и завершите остатки. Если не помогло — перезапустите службу агента сервера 1С как крайнюю меру.
Как завершить все сеансы перед обновлением ночью, когда никого нет?
Настройте скрипт с утилитой rac, который устанавливает блокировку базы и завершает все сеансы по расписанию через планировщик задач Windows. После обновления второй скрипт должен снять блокировку — иначе утром пользователи не войдут.
Что произойдёт с данными пользователя при принудительном завершении?
Всё, что не было записано в базу (незаписанные документы, открытые формы с изменениями), будет потеряно. Уже записанные и проведённые данные не пострадают — транзакционная модель 1С гарантирует целостность записанного.
Как войти в базу, если установлена блокировка соединений?
Используйте код разрешения, заданный при установке блокировки. В тонком клиенте его передают параметром запуска /UC<код>, в конфигураторе код запрашивается при входе, если он настроен. Если код утерян, блокировку можно снять через консоль кластера в свойствах информационной базы.
Что важно запомнить
Завершайте сеансы на уровне кластера 1С, а не СУБД; перед массовым завершением предупреждайте пользователей; блокировка базы не закрывает открытые сеансы; после обслуживания не забудьте снять блокировку. Проверяйте результат по списку сеансов и фоновых заданий.