Администрирование · 9 мин
Как получить список активных пользователей в 1С
Как получить список активных пользователей в 1С: консоль кластера, журнал регистрации, код на встроенном языке, блокировка сеансов. Пошаговые инструкции.
Список активных пользователей в 1С нужен администратору в десятках ситуаций: перед обновлением конфигурации, при поиске виновника блокировок, при контроле лицензий и при расследовании инцидентов. В зависимости от режима работы — файловый или клиент-серверный — доступны разные инструменты: консоль кластера серверов, стандартная обработка «Активные пользователи», журнал регистрации и программные методы встроенного языка.
Главное различие между способами — источник данных. Консоль кластера показывает сеансы на уровне сервера 1С:Предприятия, метод ПолучитьСеансыИнформационнойБазы() — на уровне прикладного кода, а журнал регистрации фиксирует подключения задним числом. Ниже разобраны все рабочие варианты с точными действиями и ограничениями каждого.
Определитесь, что именно считать активным пользователем
Под «активным пользователем» в 1С понимают сеанс, установленный с информационной базой в текущий момент. Один человек может держать несколько сеансов — например, тонкий клиент и веб-клиент одновременно, — и в списке они отобразятся как отдельные строки. Поэтому считать стоит не строки, а уникальные имена пользователей.
Кроме пользовательских сеансов, в списках встречаются фоновые задания, сеансы веб-сервисов и служебные подключения. Они тоже занимают лицензии или ресурсы сервера, но не всегда означают, что за компьютером сидит сотрудник. Перед принятием решений — например, о принудительном завершении — проверяйте тип сеанса и приложение.
Сравните время начала сеансов и имена компьютеров
Проверьте тип сеанса в консоли кластера
Уточните у сотрудника, затем завершите сеанс принудительно
Получите список через обработку «Активные пользователи»
В типовых конфигурациях на базе Библиотеки стандартных подсистем (Управление торговлей, ERP, Бухгалтерия предприятия и другие) есть встроенная обработка «Активные пользователи». Она открывается через раздел «Администрирование» → «Обслуживание» → «Активные пользователи». Путь может немного отличаться в зависимости от редакции конфигурации.
Обработка показывает список сеансов с именем пользователя, компьютером, временем входа и режимом работы. Из неё можно принудительно завершить выбранный сеанс — кнопка «Завершить сеанс» или аналогичная команда в контекстном меню. Перед завершением убедитесь, что у пользователя нет несохранённых данных: принудительное отключение обрывает работу клиента без сохранения открытых документов.
Посмотрите сеансы в консоли кластера серверов
В клиент-серверном режиме основной инструмент — консоль администрирования кластера (утилита «Администрирование серверов 1С:Предприятия»). Откройте консоль, разверните нужный кластер, затем узел «Сеансы» — вы увидите все подключения ко всем базам кластера. Чтобы отфильтровать по конкретной базе, выберите её в узле «Информационные базы» и перейдите на вкладку «Сеансы».
Для каждого сеанса доступны имя пользователя, приложение (тонкий клиент, толстый клиент, веб-клиент, фоновое задание), компьютер, время начала и время последнего обращения. Колонка «Спящий сеанс» помогает отличить реально работающих пользователей от простаивающих подключений. Завершить сеанс можно через контекстное меню — пункт «Удалить».
- 1Откройте оснастку «Администрирование серверов 1С:Предприятия»
- 2Разверните нужный кластер и выберите информационную базу
- 3Перейдите на вкладку «Сеансы»
- 4Отсортируйте по пользователю или времени последнего обращения
- 5При необходимости завершите сеанс через контекстное меню
Получите список программно на встроенном языке
Для отчётов, регламентных проверок и автоматических рассылок список сеансов получают кодом. Метод ПолучитьСеансыИнформационнойБазы() возвращает массив объектов типа «СеансИнформационнойБазы» со свойствами: ИмяПользователя, ИмяКомпьютера, НачалоСеанса, ИмяПриложения, НомерСеанса и другие.
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Если Не ПустаяСтрока(Сеанс.ИмяПользователя) Тогда
Сообщить(СтрШаблон("%1 | %2 | %3",
Сеанс.ИмяПользователя,
Сеанс.ИмяКомпьютера,
Сеанс.НачалоСеанса));
КонецЕсли;
КонецЦикла;Фильтр по непустому имени пользователя отсекает фоновые задания и служебные подключения, у которых пользователь не задан. Для подсчёта уникальных пользователей соберите имена в соответствие или список значений и проверяйте дубли. Код выполняется в контексте текущей базы: из одной базы вы не увидите сеансы другой базы того же кластера.
Учтите, что в файловом режиме метод также работает, но показывает только сеансы текущей базы, что обычно и требуется. В клиент-серверном режиме выполнение кода требует права на просмотр сеансов — обычно это роль администратора или полные права.
Используйте журнал регистрации для анализа за период
Если нужно узнать, кто работал в базе не прямо сейчас, а за прошедший период, используйте журнал регистрации: «Администрирование» → «Журнал регистрации» (или «Сервис» → «Журнал регистрации» в конфигураторе). Установите отбор по событию «Сеанс. Аутентификация» и нужному диапазону дат.
Журнал покажет время входа, имя пользователя и компьютер. События «Сеанс. Завершение» дополнят картину временем выхода. Это единственный штатный способ восстановить историю подключений, если инцидент обнаружен постфактум. Учтите, что журнал регистрации должен быть включён с достаточным уровнем детализации — иначе события сеансов могут не фиксироваться.
Выгоните пользователей перед обновлением
Типовая задача, где нужен список активных пользователей, — обновление конфигурации в монопольном режиме. Порядок безопасных действий: получите список сеансов, уведомьте пользователей (обработка «Блокировка работы пользователей» из БСП умеет рассылать сообщения), установите блокировку новых соединений, дождитесь выхода пользователей и только потом завершайте оставшиеся зависшие сеансы.
В клиент-серверном режиме блокировку соединений можно задать и через консоль кластера: свойства информационной базы → «Блокировка начала сеансов включена» с указанием времени и сообщения для пользователей. Код разрешения в параметрах блокировки позволит администратору зайти в базу, пока остальные отключены.
Проверьте результат и учтите ограничения
После завершения сеансов обновите список и убедитесь, что остались только служебные подключения и ваш собственный сеанс. В консоли кластера список обновляется вручную или автоматически с заданным интервалом — не полагайтесь на устаревший снимок экрана.
Ограничения, о которых стоит помнить: в файловом режиме нет консоли кластера, доступны только программный метод и типовые обработки; веб-клиенты могут отображаться с адресом сервера вместо реального компьютера пользователя; спящие сеансы формально активны, но не означают работу за компьютером.
Как проверить результат
Остались только ваш сеанс и фоновые задания
Пользовательские сеансы пересоздаются — не установлена блокировка соединений
Каждому сеансу соответствует реальный сотрудник
Неопознанные сеансы без имени — проверьте веб-сервисы и внешние подключения
Конфигуратор устанавливает монопольный доступ без ошибок
Ошибка «база занята» — остались активные сеансы или фоновые задания
Что важно запомнить
Текущий список активных пользователей смотрят в консоли кластера, обработке «Активные пользователи» или кодом через ПолучитьСеансыИнформационнойБазы(). Историю подключений восстанавливают по журналу регистрации. Перед принудительным завершением сеансов предупреждайте пользователей и включайте блокировку новых соединений.
Частые вопросы
Как посмотреть активных пользователей в файловой базе 1С?
В файловом режиме нет консоли кластера, поэтому используйте типовую обработку «Активные пользователи» (раздел «Администрирование») или выполните код с методом ПолучитьСеансыИнформационнойБазы() через внешнюю обработку. Оба способа покажут сеансы текущей базы.
Почему в списке сеансов есть строки без имени пользователя?
Это фоновые задания, сеансы веб-сервисов и служебные подключения — они создаются системой, а не конкретным сотрудником. Отфильтруйте их проверкой на пустое имя пользователя или по типу приложения в консоли кластера.
Можно ли узнать, кто работал в базе вчера?
Да, через журнал регистрации с отбором по событию «Сеанс. Аутентификация» за нужную дату. Вы увидите время входа, пользователя и компьютер. Условие — журнал регистрации должен фиксировать события сеансов на момент интересующего периода.
Чем отличается сеанс от соединения в консоли кластера?
Сеанс — это логическая работа пользователя или задания с базой, а соединение — технический канал между клиентом и сервером. Одному сеансу может соответствовать несколько соединений. Для учёта пользователей ориентируйтесь на сеансы.
Как завершить все сеансы, кроме своего?
Программно: переберите сеансы, пропустите текущий (сравните номер с НомерСеанса из ПолучитьТекущийСеансИнформационнойБазы()) и вызовите прерывание для остальных. Перед этим обязательно включите блокировку новых соединений, иначе пользователи переподключатся.
Почему завершённый сеанс появляется снова?
Чаще всего пользователь или автозапуск клиента переподключается сразу после отключения. Установите блокировку начала сеансов в свойствах базы, а затем завершайте активные сеансы — новые подключения будут отклоняться с заданным сообщением.