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

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

1С активный пользователь: как отключить и завершить сеанс

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

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

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

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

Различие между завершением сеанса и отключением пользователя

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

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

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

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

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

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

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

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

Отключение пользователя в файловой базе

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

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

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

Блокировка учётной записи пользователя

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

Удаление пользователя из списка в конфигураторе — радикальная мера: если учётная запись связана с элементами справочников и документами (автор, ответственный), ссылки на неё останутся. Безопаснее именно блокировать, а не удалять, особенно для сотрудников, чьи документы хранятся в базе.

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

Типичные ошибки
01
Завершение сеанса без блокировки учётной записи — пользователь входит снова через минуту
02
Удаление пользователя вместо блокировки — теряется история действий и связи в документах
03
Отключение сеанса во время проведения документа или обмена — незавершённые транзакции и ошибки в данных
04
Блокировка служебного пользователя регламентных заданий — останавливаются обмены и отчёты по расписанию

Программное завершение сеансов

Администраторы с доступом к коду могут завершать сеансы из встроенного языка через COM-соединение с агентом сервера (объекты V83.COMConnector и соответствующие интерфейсы агента) или через административную консоль RAC в командной строке. Утилита rac позволяет получить список сеансов и завершить конкретный: команда вида rac session --cluster=<ID> terminate --session=<ID сеанса>.

Программный способ удобен для автоматизации: например, скрипт перед ночным обновлением завершает все сеансы, включает блокировку, выполняет обновление и снимает блокировку. Такие сценарии стоит тестировать на копии базы и запускать с учётной записью администратора кластера.

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

Как проверить результат и избежать повторных проблем

После завершения сеанса обновите список сеансов в консоли и убедитесь, что подключение исчезло. Если сеанс появился снова — значит, у пользователя запущен автоматический перезапуск клиента или работает фоновое задание под его учётной записью. Тогда сначала блокируйте учётную запись, затем завершайте сеанс.

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

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

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

Список сеансов в консоли кластера
Норма

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

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

Сеанс появляется снова через несколько секунд — нужна блокировка учётной записи

Вход пользователя в базу
Норма

При попытке входа выдаётся отказ в доступе

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

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

Регламентные задания
Норма

Выполняются по расписанию под служебным пользователем

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

Ошибки выполнения после блокировки — задания были привязаны к отключённой учётной записи

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

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

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

Что будет с несохранёнными данными пользователя при принудительном завершении сеанса?

Данные, которые не были записаны в базу (открытые непроведённые документы, незакрытые формы), будут потеряны. Уже записанные объекты не пострадают. По возможности предупреждайте сотрудника перед отключением.

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

Чаще всего причина в том, что на компьютере пользователя работает автоматический перезапуск клиента, открыто второе приложение (например, веб-клиент) или под его учётной записью выполняется фоновое задание. Заблокируйте учётную запись и завершите все связанные сеансы.

Как отключить всех пользователей перед обновлением конфигурации?

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

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

Блокировка (снятие флага «Вход в программу разрешён») запрещает вход, но сохраняет учётную запись и все связи в документах. Удаление убирает пользователя из списка, при этом ссылки на него в данных остаются и отображаются как «объект не найден». Предпочтительнее блокировка.

Завис сеанс в файловой базе, консоли кластера нет — что делать?

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

Итог

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

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