Администрирование · 10 мин
Как выкинуть пользователя из 1С 8.3
Как принудительно завершить сеанс пользователя в 1С 8.3: консоль кластера, администрирование из конфигуратора, команда для сервера. Риски обрыва сеансов и проверка результата.
Зависший сеанс, заблокированная база или необходимость срочно провести обновление конфигурации — типичные ситуации, когда администратору нужно принудительно завершить работу пользователя в 1С:Предприятии 8.3. Платформа предоставляет несколько штатных механизмов для этого: от консоли кластера серверов до программного завершения сеансов через встроенный язык.
Выбор способа зависит от режима работы базы (файловый или клиент-серверный), от того, есть ли у вас доступ к серверу 1С, и от того, нужно ли выкинуть одного пользователя или всех сразу. Важно понимать: принудительный обрыв сеанса — это аварийная мера, при которой несохранённые данные пользователя теряются, а в редких случаях возможны проблемы с целостностью данных при файловом режиме.
Ниже разобраны все рабочие способы с точными действиями, ограничениями и проверкой результата.
Определите режим работы базы и причину завершения сеанса
Прежде чем действовать, уточните два момента. Первый — режим работы информационной базы: файловый (файл 1Cv8.1CD в общей папке) или клиент-серверный (СУБД + сервер 1С). От этого зависит весь инструментарий. Второй — цель: выкинуть одного «зависшего» пользователя, освободить базу для монопольного доступа или снять повисшую блокировку.
Режим работы виден в списке информационных баз в окне запуска 1С: путь вида \\server\base означает файловый режим, а строка с именем сервера и именем базы (например, Srvr="srv1c";Ref="trade") — клиент-серверный. Также режим отображается в окне «О программе» внутри самой базы.
Проверьте время последней активности сеанса в консоли кластера
Используйте блокировку соединений с завершением сеансов
Консоль кластера недоступна, нужны другие способы
Сначала отправьте предупреждение, затем завершайте сеансы
Завершение сеанса через консоль кластера серверов
Основной инструмент для клиент-серверного режима — оснастка «Администрирование серверов 1С:Предприятия». Она устанавливается вместе с сервером 1С и доступна на машине, где установлен сервер, либо на компьютере администратора при регистрации консоли.
Откройте консоль, разверните нужный кластер, затем рабочий сервер и информационную базу. В разделе «Сеансы» отображаются все активные подключения с указанием пользователя, компьютера, приложения (толстый клиент, тонкий клиент, веб-клиент, фоновое задание) и времени последней активности.
Чтобы выкинуть конкретного пользователя, выделите его сеанс и нажмите «Удалить» (или выберите соответствующий пункт контекстного меню). Сеанс завершается принудительно, без сохранения открытых данных. Чтобы выкинуть всех, выделите все сеансы сочетанием Ctrl+A и удалите их списком.
- 1Откройте оснастку «Администрирование серверов 1С:Предприятия»
- 2Разверните кластер → сервер → нужную информационную базу
- 3Перейдите в раздел «Сеансы» и найдите пользователя по имени или компьютеру
- 4Выделите сеанс и нажмите «Удалить»
- 5Обновите список и убедитесь, что сеанс исчез и не появился снова
Обратите внимание на различие «Сеансы» и «Соединения». Соединение — это физическое подключение к кластеру, сеанс — логическая сессия пользователя. Удалять нужно именно сеансы: при удалении соединения сеанс может остаться «висячим» и продолжать удерживать лицензию и блокировки.
Блокировка соединений и завершение всех сеансов
Если задача — освободить базу полностью (например, для обновления конфигурации или восстановления из копии), удалять сеансы по одному бессмысленно: пользователи переподключатся. Правильный подход — сначала установить блокировку соединений, затем завершить существующие сеансы.
В консоли кластера откройте свойства информационной базы (правый клик → «Свойства»). Установите флаг «Блокировка начала сеансов включена», при необходимости задайте сообщение для пользователей и код разрешения для входа администратора. После включения блокировки новые сеансы создаваться не будут, а существующие можно завершить в разделе «Сеансы».
В типовых конфигурациях на базе Библиотеки стандартных подсистем (УТ, ERP, БП, ЗУП) аналогичный механизм доступен прямо из интерфейса: раздел «Администрирование» → «Обслуживание» → «Блокировка работы пользователей». Там же можно увидеть список активных пользователей и отправить им предупреждение о скором завершении работы. Это самый «мягкий» и безопасный путь, если база ещё отвечает.
Как выкинуть пользователя в файловом режиме
В файловом режиме нет сервера 1С и консоли кластера, поэтому инструменты другие. Самый простой вариант — типовая функция «Активные пользователи» (в конфигурациях на БСП: «Администрирование» → «Обслуживание» → «Активные пользователи»). Из этого списка администратор может завершить сеанс выбранного пользователя — пользователь получит сообщение, и его клиент закроется.
Если база не открывается или сеанс завис намертво, остаются системные средства. Файловая база удерживается через файловые блокировки на общем ресурсе. На сервере, где лежит файл базы, через «Управление компьютером» → «Общие папки» → «Открытые файлы» можно найти открытый файл 1Cv8.1CD и принудительно закрыть сеанс доступа к нему. Это грубый метод: сеанс пользователя оборвётся с ошибкой.
Ещё один вариант — программное завершение через внешнюю обработку или команду пакетного запуска конфигуратора с параметром завершения работы пользователей, если конфигурация поддерживает соответствующий механизм. На практике чаще всего достаточно связки «Активные пользователи» плюс блокировка работы пользователей.
Программное завершение сеансов и утилита RAC
Для автоматизации (например, ночное завершение всех сеансов перед бэкапом) используется консольная утилита RAC из состава сервера 1С. Она позволяет получать списки сеансов и завершать их из скриптов. Типовая последовательность: получить идентификатор кластера, затем список сеансов базы, затем выполнить завершение конкретного сеанса или всех.
rac session --cluster=<ID_кластера> terminate --infobase=<ID_базы> --session=<ID_сеанса>Внутри конфигурации администратор с правами на администрирование может использовать методы встроенного языка: ПолучитьСеансыИнформационнойБазы() для получения списка сеансов и установку блокировки сеансов через объект блокировки. В БСП это уже реализовано в подсистеме «Завершение работы пользователей», поэтому писать собственный код обычно не требуется.
Для массовых регламентных операций удобно сочетать оба подхода: скрипт с RAC ставит блокировку соединений, ждёт несколько минут, завершает оставшиеся сеансы, выполняет бэкап или обновление и снимает блокировку. Такой сценарий исключает ситуацию, когда кто-то успевает войти в базу посередине операции.
Проверка результата и типичные ошибки
После завершения сеанса убедитесь, что он действительно исчез, а не пересоздался. Обновите список сеансов в консоли кластера через 30–60 секунд. Если сеанс появился снова — у пользователя настроено автоподключение, работает фоновое задание или сеанс держит внешнее приложение (обмен, интеграция). В этом случае без блокировки соединений не обойтись.
Дополнительно проверьте, что освободились лицензии и снялись блокировки: в консоли кластера это видно по уменьшению числа сеансов, в файловом режиме — по возможности открыть базу монопольно. Если целью было обновление конфигурации, попробуйте запустить его — при «висячих» сеансах платформа сообщит, что база занята.
Как проверить результат
Сеанс отсутствует и не пересоздаётся
Сеанс появился снова — нужна блокировка соединений
Монопольный режим устанавливается
Ошибка «база занята» — остались активные сеансы
База открывается, тестирование без ошибок
Ошибки чтения — требуется проверка chdbfl или восстановление
FAQ
Пользователь вышел из 1С, но сеанс в консоли кластера остался. Это нормально?
Да, кластер некоторое время удерживает сеанс после закрытия клиента — это штатное поведение, сеанс снимется по таймауту. Если «спящий» сеанс висит часами и удерживает лицензию, его можно удалить вручную в разделе «Сеансы» — это безопасно, так как клиент уже отключён.
Что увидит пользователь, которого выкинули из базы?
При завершении сеанса через консоль кластера клиент закрывается с сообщением об административном разрыве соединения. При использовании типовой функции «Завершение работы пользователей» в конфигурациях на БСП пользователь сначала получает предупреждение с таймером, затем программа закрывается. Несохранённые данные в обоих случаях теряются.
Можно ли выкинуть пользователя, не имея доступа к серверу 1С?
Только средствами самой конфигурации: если у вас полные права в базе, используйте «Администрирование» → «Активные пользователи» (в конфигурациях на БСП) — оттуда можно завершить чужой сеанс. Без полных прав в базе и без доступа к консоли кластера завершить чужой сеанс нельзя.
Сеанс удаляется, но сразу появляется снова. Что делать?
Значит, есть источник автоподключения: у пользователя включён автозапуск, работает фоновое или регламентное задание, либо базу опрашивает внешняя система обмена. Установите блокировку начала сеансов в свойствах базы, затем завершите все сеансы — после этого новые создаваться не смогут.
Опасно ли выкидывать пользователя во время проведения документа?
На клиент-серверном варианте СУБД откатит незавершённую транзакцию, поэтому целостность данных обычно сохраняется, но несохранённая работа пользователя пропадёт. В файловом режиме обрыв во время записи рискованнее — возможно повреждение файла базы. По возможности дождитесь завершения активности сеанса (её видно в консоли кластера) или предупредите пользователя.
Как выкинуть всех пользователей ночью перед бэкапом автоматически?
Настройте скрипт с утилитой RAC: установите блокировку соединений с базой, выдержите паузу, завершите оставшиеся сеансы командой terminate, выполните бэкап и снимите блокировку. Скрипт запускается по расписанию через планировщик задач Windows. Обязательно предусмотрите снятие блокировки даже при ошибке скрипта.
Что важно запомнить
В клиент-серверном режиме сеансы завершаются через консоль кластера (раздел «Сеансы» → «Удалить»), в файловом — через «Активные пользователи» в конфигурации. Для освобождения базы полностью сначала включите блокировку соединений, иначе пользователи переподключатся. Принудительный обрыв уничтожает несохранённые данные, а в файловом режиме при записи может повредить базу — держите актуальную резервную копию.