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

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

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

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

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

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

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

Как определить, кого и где нужно отключить

Прежде чем завершать сеанс, выясните, в каком режиме работает база. Откройте «Файл — О программе» или посмотрите строку подключения в списке информационных баз: если путь выглядит как сетевой каталог (\\server\base), это файловый режим; если указаны имя сервера и имя базы в кластере — клиент-серверный.

Далее определите, какой именно сеанс мешает. В типовых конфигурациях откройте «Администрирование — Обслуживание — Активные пользователи» (в некоторых версиях — «Администрирование — Пользователи и права — Активные пользователи»). Список показывает имя пользователя, компьютер, время начала сеанса и режим работы (тонкий клиент, толстый клиент, веб-клиент, фоновое задание).

Сеанс висит, но компьютер выключенЗависший сеанс

Проверьте колонку «Время начала» — если сеанс старше рабочего дня, это «мёртвая» сессия, её можно смело удалять

Документ заблокированУдерживается блокировка данных

Найдите сеанс пользователя, который редактировал объект последним, и завершите именно его

Нужен монопольный режимТребуется завершить все сеансы

Проверьте, нет ли фоновых заданий и регламентных операций — они тоже создают сеансы

Пользователь работает прямо сейчасАктивный сеанс

Сначала предупредите сотрудника, иначе несохранённые данные пропадут

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

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

Это основной способ для клиент-серверных баз. Откройте оснастку «Администрирование серверов 1С:Предприятия» (файл консоли устанавливается вместе с сервером 1С, обычно находится в меню «Пуск — 1С:Предприятие»). Раскройте нужный кластер, затем ветку информационных баз и выберите пункт «Сеансы».

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

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

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

Как выбить пользователя в файловой базе

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

Если типовой функции завершения нет или она не срабатывает, остаются технические варианты. Сеанс файловой базы держит открытым файл 1Cv8.1CD и служебные файлы блокировок. Завершить зависший сеанс можно, закрыв процесс 1cv8.exe на компьютере пользователя — удалённо через диспетчер задач (если есть доступ) или попросив сотрудника перезагрузить машину.

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

Завершение сеансов через конфигуратор и монопольный режим

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

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

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

Автоматические способы: регламентные задания и внешние обработки

Если зависшие сеансы появляются регулярно, имеет смысл автоматизировать их очистку. В клиент-серверном режиме кластер сам удаляет «мёртвые» сеансы по таймауту: параметры «Интервал перезапуска», «Допустимый объём памяти» и время жизни соединения настраиваются в свойствах кластера. По умолчанию зависшие соединения могут висеть долго, поэтому имеет смысл настроить разрыв соединений по таймауту.

Для скриптовой очистки используется утилита RAC (консоль администрирования кластера), которая позволяет получать список сеансов и удалять их из командной строки. Это удобно для ночного регламентного скрипта перед резервным копированием.

bash
rac session --cluster=<ид_кластера> terminate --session=<ид_сеанса>

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

Проверка результата и типичные ошибки

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

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

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

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

Сеанс пользователя отсутствует

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

Сеанс появился снова — пользователь переподключился или работает регламентное задание

Запись заблокированного документа
Норма

Документ записывается без ошибок

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

Ошибка блокировки осталась — ищите другой сеанс или фоновое задание

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

Конфигуратор/обновление запускаются без сообщений о занятых сеансах

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

Сообщение о наличии активных сеансов — не все отключены или не снята блокировка регламентных заданий

Типичные ошибки
01
Завершение сеанса без предупреждения — пользователь теряет несохранённые документы и вводит их заново
02
Удаление сеанса фонового задания обмена — обмен прерывается на середине, приходится перезапускать и разбирать незавершённые регистрации
03
Блокировка сеансов без кода разрешения — администратор сам не может зайти в базу для обновления
04
Забытая блокировка после работ — утром никто из сотрудников не может войти в базу
05
Перезагрузка сервера с файловой базой при активных сеансах — риск повреждения файла 1Cv8.1CD

Отдельная ошибка — путать завершение сеанса с удалением пользователя. Завершение сеанса никак не влияет на учётную запись: пользователь сможет войти снова сразу после снятия блокировок. Если нужно запретить вход навсегда, снимите флаг «Вход в программу разрешён» в карточке пользователя.

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

Пользователь закрыл 1С, но сеанс в консоли кластера остался. Это нормально?

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

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

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

Что увидит пользователь, которого принудительно отключили?

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

Как выгнать всех пользователей перед обновлением, если база клиент-серверная?

Установите в свойствах базы блокировку начала сеансов с кодом разрешения и сообщением, затем удалите все текущие сеансы в консоли кластера, включая фоновые задания. После этого войдите с кодом разрешения и выполняйте обновление. По окончании снимите блокировку.

Опасно ли завершать сеанс во время проведения документа?

Сервер 1С и СУБД работают транзакционно: прерванная транзакция откатывается, поэтому база не останется в «полупроведённом» состоянии. Тем не менее пользователь потеряет введённые данные, а длительные операции (обмены, групповое перепроведение) придётся запускать заново, поэтому по возможности дождитесь завершения операции.

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

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

Итог

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

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