Кто сейчас в базе: список активных пользователей и сеансов 1С

· 9 мин

Содержание

Список активных пользователей в 1С открывается через Все функции → Стандартные → Активные пользователи в обычном режиме или через Администрирование → Активные пользователи в Конфигураторе. Для клиент-серверной базы полную картину по всем сеансам даёт консоль администрирования серверов 1С:Предприятия или утилита rac.

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

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

Какой способ выбрать

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

СпособГде работаетЧто видноЧто можно сделать
Окно «Активные пользователи»Файловая и серверная базаПользователь, компьютер, приложение, начало работыТолько смотреть (отключать из этого окна не нужно)
Консоль кластера серверовТолько клиент-серверный вариантСеансы, соединения, блокировки, лицензии, нагрузкаЗавершать сеансы и соединения
Утилита racТолько клиент-серверный вариантТо же, но из командной строкиЗавершать сеансы, выгружать списки в файл

Окно «Активные пользователи» в клиенте

Это самый быстрый путь. Он не требует прав на сервер, достаточно прав администратора в самой базе.

Как открыть

  1. Зайдите в базу под пользователем с полными правами.
  2. Если в меню нет раздела «Все функции», включите его: Главное меню → Настройки → Параметры, на вкладке «Общие» отметьте показ команды «Все функции».
  3. Откройте Все функции → Стандартные → Активные пользователи.

В Конфигураторе тот же список лежит в меню Администрирование → Активные пользователи.

Что показывает окно

  • 👤 имя пользователя;
  • 🖥 имя компьютера, с которого он зашёл;
  • 🧩 приложение: «Тонкий клиент», «Веб-клиент», «Конфигуратор», «Фоновое задание» и так далее;
  • 🕒 время начала сеанса.

Строки с приложением «Фоновое задание» и «Сеанс COM-соединения» — это не люди. Так выглядят регламентные задания и внешние обмены. Их не надо считать занятыми лицензиями сотрудников.

Зайдите в окно сами и найдите свою строку: так вы увидите, как выглядит имя компьютера и приложение. Остальные строки читаются по аналогии.

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

Консоль администрирования серверов 1С

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

Подключение к кластеру

Консоль входит в состав дистрибутива платформы (компонент администрирования серверов). Работает она так:

  1. Запустите консоль. В дереве слева раскройте Центральные серверы 1С:Предприятия 8.3.
  2. Если вашего сервера в списке нет, добавьте его через правую кнопку: имя сервера и порт агента (по умолчанию 1540).
  3. Раскройте сервер, затем Кластеры, затем нужный кластер. Если у администратора кластера задан пароль, консоль его запросит.
  4. Откройте Информационные базы → ваша база → Сеансы.

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

regsvr32 "C:\Program Files\1cv8\<версия платформы>\bin\radmin.dll"

Путь подставьте свой: версия платформы в нём должна совпадать с установленной на этом компьютере. Это самая частая причина, по которой консоль «не видит» сервер после обновления платформы.

Раздел «Сеансы»

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

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

Раздел «Соединения»

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

Как завершить сеанс

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

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

Просмотр сеансов через ras и rac

Этот способ подходит, когда на сервере нет графической оболочки, нужно автоматизировать проверку или консоль недоступна.

Состоит он из двух частей: ras — сервер администрирования, rac — клиент, который к нему подключается. Оба лежат в каталоге bin платформы.

Запуск сервера администрирования

На сервере 1С запустите:

ras cluster --port=1545 localhost:1540

Здесь 1540 — порт агента сервера, 1545 — порт, на котором будет слушать ras. Если команду запустить в обычном окне, сервис работает, пока окно открыто. Для постоянной работы его оформляют службой Windows или Linux.

Типовые команды

Сначала узнайте идентификатор кластера:

rac localhost:1545 cluster list

В ответе скопируйте значение поля cluster. Дальше подставляйте его вместо <id кластера>:

rac localhost:1545 session list --cluster=<id кластера>
rac localhost:1545 session list --cluster=<id кластера> --licenses

Второй вариант покажет и лицензии, занятые сеансами. Полный список подкоманд и параметров смотрите в справке: rac help, rac help session.

Завершение сеанса через rac

В списке найдите нужный сеанс, скопируйте его идентификатор из поля session, затем:

rac localhost:1545 session terminate --session=<id сеанса> --cluster=<id кластера>

Если на кластере задан администратор с паролем, к командам добавляют параметры --cluster-user и --cluster-pwd. Пароль в тексте скрипта хранить не стоит: лучше брать его из защищённого места.

Результат rac удобно сохранять в файл и разбирать скриптом. Так можно раз в 10 минут проверять, не появилось ли сеансов с подозрительно давним началом.

Как читать список, если пользователей много

В базе на 40-50 человек список сеансов быстро превращается в длинную простыню. Помогает простой порядок.

  1. Отсортируйте список по времени начала сеанса. Самые старые строки наверху.
  2. Отделите людей от служебных сеансов: фоновые задания, COM-соединения, обмены.
  3. Сверьте имена с табелем или графиком работы. Если сотрудник в отпуске, а его сеанс висит третий день, это забытая сессия.
  4. Один пользователь с двумя-тремя сеансами с разных компьютеров — обычное дело, но каждый такой сеанс занимает свою лицензию.

Лицензии и сеансы: где смотреть занятые ключи

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

Если ключей не хватает, действуйте так:

  • 🔍 запустите rac session list --licenses и посмотрите, какие сеансы держат лицензию;
  • 🧹 найдите сеансы с давним началом и отсутствием активности;
  • 📞 свяжитесь с владельцами и закройте лишнее;
  • 🧾 если нехватка постоянная, считайте реальный пик одновременной работы за неделю и докупайте ключи под него.

Пример. В бухгалтерии работают 12 человек, лицензий 15. Утром один из пользователей забыл закрыть сеанс на ноутбуке, и вечером зашёл с другого компьютера. Два сеанса занимают две лицензии: из 15 свободных остаётся 15 минус 12 минус 1 лишний, то есть 2 ключа.

Веб-клиент и терминальный сервер

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

Блокировки и нагрузка: что искать в списке сеансов

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

Что проверять по шагам:

  1. В консоли откройте Блокировки кластера. Если один сеанс удерживает блокировки, а остальные ждут, вы нашли виновника.
  2. Сопоставьте сеанс с пользователем и узнайте, чем он занят. Часто это длинный отчёт или групповое перепроведение документов .
  3. Посмотрите на последнюю активность. Сеанс без активности, но с блокировкой — признак зависшего клиента.
  4. Если без завершения не обойтись, предупредите владельца и завершите только этот сеанс.

Для глубокого разбора понадобится технологический журнал (настраивается файлом logcfg.xml) и журнал регистрации. Он покажет, какие события происходили в базе, но к самому списку сеансов это уже не относится.

Взаимоблокировки и тайм-ауты

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

Автоматический контроль через регламентные задания

Если вручную заглядывать в консоль некогда, список сеансов можно получить из самой конфигурации. Встроенный метод ПолучитьСеансыИнформационнойБазы() возвращает массив сеансов текущей базы.

Пример процедуры, которая собирает строку со всеми сеансами:

Функция ТекстСеансов()
    Результат = "";
    Для Каждого Сеанс Из ПолучитьСеансыИнформационнойБазы() Цикл
        ИмяПользователя = ?(Сеанс.Пользователь = Неопределено, "(не определён)", Сеанс.Пользователь.Имя);
        Результат = Результат + Сеанс.НомерСеанса + " | " + ИмяПользователя + " | "
            + Сеанс.ИмяПриложения + " | " + Сеанс.Компьютер + " | "
            + Формат(Сеанс.НачалоСеанса, "ДЛФ=DT") + Символы.ПС;
    КонецЦикла;
    Возврат Результат;
КонецФункции

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

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

Перед плановой остановкой базы пройдитесь по короткому списку.

Проверка перед обновлением базы
Выполнено: 0 / 5

Типичные проблемы со списком сеансов

Здесь собраны случаи, когда картина в списке не совпадает с реальностью.

Диагностика: выберите симптом

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

Можно ли узнать активных пользователей без прав администратора?
Нет. Окно сеансов и консоль кластера требуют административных прав: в базе, на сервере или и там и там.
Чем сеанс отличается от соединения?
Сеанс — это работа пользователя или фонового задания в базе. Соединение — технический канал между клиентом и рабочим процессом. Один сеанс опирается на соединение, но смотрят обычно на сеансы.
Видно ли в списке, что пользователь делает прямо сейчас?
Само окно «Активные пользователи» этого не показывает. Для этого нужна консоль (блокировки, последняя активность) или технологический журнал.
Освобождается ли лицензия после завершения сеанса?
Да. Ключ освобождается сразу, и им может воспользоваться другой сотрудник.
Можно ли выгрузить список сеансов в файл?
Да, через rac: перенаправьте вывод команды в текстовый файл, например >sessions.txt, и разбирайте его скриптом.