Администрирование · 9 мин
Как принудительно завершить сеанс пользователя в 1С
Как принудительно закрыть сеанс пользователя 1С через консоль кластера, конфигуратор, командную строку и внешние обработки. Пошаговые инструкции и меры предосторожности.
Принудительное завершение сеанса — стандартная операция администратора 1С. Она нужна, когда пользователь «завис» и заблокировал базу, когда требуется освободить лицензию, провести обновление конфигурации в монопольном режиме или снять зависшие фоновые задания. Способ завершения зависит от режима работы базы: файловая или клиент-серверная.
В клиент-серверном варианте сеансы управляются через консоль кластера серверов 1С. В файловом варианте прямого механизма отключения нет — приходится использовать консоль управления компьютером Windows, завершение процессов или программные методы. Ниже разобраны все рабочие способы с указанием рисков и ограничений.
Главное правило перед любым принудительным отключением — убедиться, что у пользователя нет несохранённых данных. При разрыве сеанса незавершённые транзакции откатываются, а введённые, но не записанные документы теряются безвозвратно.
Определите режим работы базы и владельца сеанса
Перед отключением выясните, как развёрнута база. Откройте список информационных баз в стартовом окне 1С и посмотрите строку подключения: путь к папке на диске означает файловый режим, имя сервера и имя базы — клиент-серверный. От этого зависит весь дальнейший порядок действий.
Узнать, кто именно работает в базе, можно несколькими способами. В конфигураторе откройте «Администрирование → Активные пользователи» — там видны имена, режим запуска и время начала работы. В клиент-серверном варианте ту же информацию, но с деталями по сеансам и соединениям, показывает консоль кластера.
Обратите внимание на различие между сеансом и соединением. Один пользователь может держать несколько сеансов (например, толстый клиент и фоновое задание), а один сеанс — несколько соединений. Завершать обычно нужно именно сеанс, а не отдельное соединение.
Завершение сеанса через консоль кластера серверов 1С
Это основной и самый безопасный способ для клиент-серверных баз. Откройте оснастку «Администрирование серверов 1С Предприятия» на сервере или на машине администратора, разверните нужный кластер и перейдите в ветку «Сеансы». В списке отобразятся все активные сеансы с указанием пользователя, приложения, времени начала и текущей активности.
Найдите нужный сеанс, щёлкните по нему правой кнопкой и выберите «Удалить». Сервер немедленно разорвёт сеанс: у пользователя клиентское приложение завершится с сообщением о разрыве соединения. Если сеансов много, удобно отсортировать список по пользователю или по длительности простоя, чтобы выявить «зависшие» сеансы.
Для массового отключения — например, перед обновлением конфигурации — выделите несколько сеансов с зажатой клавишей Ctrl или Shift и удалите их одной операцией. Учтите, что так отключаются и фоновые задания, если они выполняются в отдельных сеансах.
- 1Откройте оснастку «Администрирование серверов 1С Предприятия»
- 2Разверните нужный кластер и перейдите в ветку «Сеансы»
- 3Найдите сеанс пользователя по имени и приложению
- 4Щёлкните правой кнопкой и выберите «Удалить»
- 5Проверьте, что сеанс исчез из списка, а лицензия освободилась
Блокировка новых подключений перед отключением
Если вы готовите базу к обновлению, простого удаления сеансов недостаточно — пользователи подключатся снова. В свойствах информационной базы в консоли кластера установите дату начала блокировки сеансов и задайте код разрешения. Тогда существующие сеансы можно удалить, а новые без кода разрешения создаваться не будут.
Завершение сеанса из конфигуратора и командной строки
Конфигуратор позволяет только просматривать активных пользователей («Администрирование → Активные пользователи»), но не отключать их — кнопки завершения сеанса там нет. Однако при установке монопольного режима конфигуратор выдаёт список мешающих сеансов, что помогает понять, кого нужно отключить.
Для автоматизации удобен пакетный режим конфигуратора: запуск обновления конфигурации с параметрами завершения сеансов и блокировки соединений. Это стандартный сценарий для ночных регламентных обновлений.
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /S"Server\Base" /N"Администратор" /P"пароль" /UpdateDBCfg /DisableStartupDialogsПеред запуском пакетного обновления убедитесь, что для базы установлена блокировка сеансов, иначе пользователи успеют переподключиться в процессе. Версию платформы в пути к исполняемому файлу подставьте ту, что реально установлена у вас.
Как отключить пользователя в файловой базе
В файловом режиме нет сервера, который управлял бы сеансами, поэтому прямой команды «удалить сеанс» не существует. Если пользователь работает по сети с общей папкой, администратор может закрыть открытые им файлы: на компьютере, где лежит база, откройте «Управление компьютером → Общие папки → Открытые файлы», найдите файлы базы (1Cv8.1CD) и закройте соединение нужного пользователя.
Альтернатива — завершить процесс 1cv8.exe на компьютере самого пользователя через диспетчер задач или удалённо. Это грубый метод: клиент завершится аварийно, а в файловой базе останется «осиротевшая» блокировка, которая снимется автоматически через некоторое время или после перезапуска.
Третий вариант — программный. В типовых конфигурациях на базе БСП есть механизм завершения работы пользователей (обработка «Активные пользователи» / «Блокировка работы пользователей» в разделе администрирования), который корректно завершает сеансы штатными средствами. Существуют и внешние обработки, выполняющие ту же задачу через код встроенного языка.
Проверка результата и типичные ошибки
После удаления сеанса обновите список сеансов в консоли кластера — запись должна исчезнуть. Дополнительно проверьте ветку «Соединения»: если соединение осталось висеть без сеанса, удалите и его. Освобождение лицензии можно контролировать по счётчику занятых лицензий в свойствах кластера.
Если сеанс появляется снова сразу после удаления, значит, у пользователя настроено автоматическое переподключение или работает фоновый процесс-агент. В этом случае сначала установите блокировку сеансов, а затем удаляйте оставшиеся.
Профилактика зависших сеансов
Чтобы не отключать пользователей вручную, настройте автоматическое завершение простаивающих сеансов. В свойствах информационной базы в консоли кластера есть параметры «Интервал отключения простаивающих сеансов» и допустимое время простоя — сеансы без активности будут завершаться сервером автоматически, освобождая лицензии.
Полезно также регламентировать работу: настроить автоматический выход из 1С при блокировке компьютера, ограничить количество одновременных сеансов на пользователя и вести мониторинг длительных сеансов. Это снижает число ситуаций, где требуется ручное вмешательство администратора.
Что важно запомнить
В клиент-серверной базе сеанс удаляется через консоль кластера (ветка «Сеансы» → «Удалить»), перед массовым отключением ставится блокировка сеансов. В файловой базе прямого механизма нет — используют закрытие открытых файлов, завершение процесса или штатные обработки завершения работы. Любое принудительное отключение уничтожает несохранённые данные, поэтому сначала предупредите пользователя.
Часто задаваемые вопросы
Потеряются ли данные пользователя при принудительном завершении сеанса?
Незаписанные данные — да. Всё, что пользователь ввёл в открытые формы, но не нажал «Записать» или «Провести», будет потеряно. Уже записанные в базу объекты не пострадают: незавершённые транзакции откатываются, и целостность хранимых данных сохраняется.
Почему после удаления сеанса он появляется снова?
Чаще всего срабатывает автоматическое переподключение клиентского приложения или сеанс пересоздаётся фоновым заданием, регламентной задачей либо внешней программой-интеграцией. Установите блокировку сеансов в свойствах базы, затем удалите оставшиеся сеансы.
Можно ли завершить сеанс пользователю без прав администратора?
Нет. Удаление сеансов в консоли кластера требует прав администратора кластера или информационной базы. Обычный пользователь может завершить только собственный сеанс штатным выходом из программы.
Как отключить всех пользователей для обновления конфигурации?
В консоли кластера откройте свойства информационной базы, задайте время начала блокировки сеансов и код разрешения, затем в ветке «Сеансы» выделите и удалите все активные сеансы. После этого запускайте обновление — новые подключения без кода разрешения будут отклоняться.
Чем отличается зависший сеанс от спящего соединения?
Зависший сеанс — это активный сеанс, в котором клиент перестал отвечать или выполняет бесконечную операцию; он занимает лицензию и может держать блокировки. Спящее соединение — техническое соединение с сервером без активного сеанса. Удалять для освобождения лицензии нужно именно сеанс.
Как автоматически отключать сеансы, простаивающие без дела?
В свойствах информационной базы в консоли кластера задайте параметры допустимого времени простоя и интервала отключения. Сервер будет сам завершать сеансы, в которых пользователь долго не проявляет активности, освобождая лицензии для других сотрудников.