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

В этой статье мы разберём 5 проверенных способов просмотра активных пользователей — от стандартных функций платформы до скрытых возможностей, о которых не пишут в официальной документации. Вы узнаете, как использовать Монитор сервера 1С, журнал регистрации, консольные команды и даже SQL-запросы (для клиент-серверного варианта). Особое внимание уделим разнице между файловой и серверной версиями 1С, так как методы мониторинга в них принципиально отличаются.

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

1. Стандартный способ: Монитор сервера 1С (для клиент-серверного варианта)

Самый надёжный и информативный метод — использование встроенного Монитора сервера 1С. Он доступен только в клиент-серверной версии (например, при работе с 1С:Предприятие 8.3 для SQL Server или PostgreSQL). В файловом варианте этот инструмент бесполезен.

Чтобы открыть Монитор сервера:

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

В Мониторе сервера вы увидите:

  • 👤 Имя пользователя (логины всех подключённых)
  • 💻 Компьютер (IP или имя ПК)
  • ⏱️ Время подключения и продолжительность сеанса
  • 📊 Активность (выполняемые операции, блокировки)
💡

Если в Мониторе сервера не отображаются пользователи, проверьте права доступа вашей учётной записи. Для полноценного просмотра требуются права администратора кластера серверов 1С.

Через Монитор сервера можно не только смотреть, но и принудительно завершать сеансы. Для этого:

  1. Выделите нужного пользователя в списке.
  2. Нажмите правой кнопкой и выберите Завершить сеанс.
  3. Подтвердите действие (сеанс будет закрыт без сохранения данных на стороне пользователя!).
💡

Монитор сервера — единственный инструмент, который показывает реальное время выполнения запросов и блокировки на уровне СУБД. Это незаменимо для диагностики «подвисаний» базы.

2. Журнал регистрации: кто и когда работал в базе

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

Чтобы открыть журнал:

  1. В Конфигураторе перейдите в Администрирование → Журнал регистрации.
  2. Установите фильтр по событию Начало сеанса или Окончание сеанса.
  3. Отсортируйте записи по времени (например, за последние 30 минут).

В журнале обратите внимание на столбцы:

Столбец Что показывает Пример значения
Пользователь Логин в 1С ИвановИИ
Компьютер IP или имя ПК 192.168.1.105 или PC-IVANOV
Событие Тип действия Начало сеанса или Окончание сеанса
Метка времени Когда произошло событие 12.05.2026 14:30:15

Чтобы определить активных пользователей прямо сейчас, сравните время последнего события Начало сеанса с текущим временем. Если разница меньше 5–10 минут — пользователь, скорее всего, ещё в системе.

Как экспортировать журнал регистрации для анализа?

Журнал можно сохранить в файл .csv или .mxl через кнопку Сохранить в верхнем меню. Для глубокого анализа рекомендуем использовать 1С:Лог-анализатор (бесплатный инструмент от 1С), который умеет строить отчёты по активности пользователей, блокировкам и ошибкам.

3. Консольные команды для администрирования (rac и ring)

Для опытных администраторов утилиты командной строки — самый быстрый способ получить список активных пользователей. В 1С 8.3 для этого есть две основные команды: rac (для серверного варианта) и ring (для файлового).

Способ 1: Утилита rac (для серверной 1С)

Команда rac (Remote Administration Console) позволяет управлять кластером серверов 1С. Чтобы увидеть активные сеансы:

rac session list -cluster ИмяКластера

Пример вывода:


Сеанс 1:

Пользователь: ПетровПП

База: Бухгалтерия

Время начала: 12.05.2026 15:20:00

Компьютер: 192.168.1.110

Сеанс 2:

Пользователь: СидороваАА

База: Зарплата

Время начала: 12.05.2026 14:45:00

Компьютер: PC-SIDOROVA

Чтобы завершить сеанс из командной строки:

rac session terminate -cluster ИмяКластера -session-id НомерСеанса

Способ 2: Утилита ring (для файловой 1С)

В файловом варианте 1С используйте ring (входит в комплект поставки платформы). Команда для просмотра активных пользователей:

ring admin list

Вывод будет менее детализированным, но покажет, кто подключён к базе в данный момент.

📊 Какой способ мониторинга пользователей вы используете чаще?
Монитор сервера 1С
Журнал регистрации
Консольные команды (rac/ring)
SQL-запросы
Другой

4. SQL-запросы для продвинутых (только для клиент-серверной 1С)

Если вы работаете с 1С на SQL Server или PostgreSQL, можно получить список активных пользователей напрямую из базы данных. Этот метод требует знаний SQL, но даёт максимальную гибкость.

Для Microsoft SQL Server выполните запрос:

SELECT

s.session_id,

s.login_name AS Пользователь,

s.host_name AS Компьютер,

s.login_time AS ВремяПодключения,

r.command AS ТекущаяОперация

FROM

sys.dm_exec_sessions s

LEFT JOIN

sys.dm_exec_requests r ON s.session_id = r.session_id

WHERE

s.program_name LIKE '%1C%'

ORDER BY

s.login_time DESC;

Для PostgreSQL подойдёт такой запрос:

SELECT

pid AS session_id,

usename AS пользователь,

client_addr AS компьютер,

query_start AS время_подключения,

state AS статус

FROM

pg_stat_activity

WHERE

application_name LIKE '%1C%'

ORDER BY

query_start DESC;

Эти запросы покажут:

  • 🔹 ID сеанса (пригодится для принудительного отключения)
  • 🔹 Текущую выполняемую операцию (полезно для диагностики «зависаний»)
  • 🔹 Время начала сеанса (чтобы отличить активных пользователей от «забытых» подключений)

🔹 Убедитесь, что у вас есть права на чтение системных таблиц СУБД

🔹 Сделайте резервную копию базы перед экспериментами

🔹 Используйте SQL Server Management Studio или pgAdmin для удобного выполнения запросов

🔹 Не завершайте сеансы напрямую через SQL без крайней необходимости-->

💡

Если в результате SQL-запроса вы видите сеансы с статусом idle in transaction, это означает, что пользователь начал транзакцию, но не завершил её. Такие сеансы могут блокировать работу других пользователей и требуют принудительного завершения.

5. Внешние утилиты: 1С:Лог-анализатор и сторонние решения

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

1С:Лог-анализатор

Бесплатная утилита от фирмы 1С, которая умеет:

  • 📈 Анализировать журнал регистрации и выявлять пиковые нагрузки
  • 🔍 Показывать длительные транзакции и блокировки
  • 📊 Строить графики активности пользователей по времени

Скачать можно на сайте в разделе «Инструменты разработчика».

Сторонние решения

Для крупных предприятий с высокой нагрузкой на 1С подойдут платные инструменты:

  • 🛠️ 1С:Администратор сервера — расширенный мониторинг кластера
  • 📊 SQL Monitor (от Redgate) — для анализа производительности SQL-запросов
  • 🔧 DBMonitor — отслеживание блокировок в реальном времени
💡

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

6. Альтернативные методы: скрипты и программное получение списка пользователей

Для автоматизации мониторинга можно написать скрипт на 1С:Предприятие или использовать COM-соединение. Это актуально, если вам нужно интегрировать проверку активных пользователей в собственную систему администрирования.

Пример кода на встроенном языке 1С

Следующий скрипт вернёт список активных пользователей в текущей базе:

Процедура ПолучитьАктивныхПользователей()

Сеансы = Новый Структура();

Для Каждого Сеанс Из СеансыИнформационнойБазы() Цикл

Если НЕ Сеанс.Завершен Тогда

Пользователь = Сеансы.Пользователи.Найти(Сеанс.Пользователь);

Если Пользователь = Неопределено Тогда

Сеансы.Вставить(Сеанс.Пользователь, Сеанс.Компьютер);

КонецЕсли;

КонецЕсли;

КонецЦикла;

Возврат Сеансы;

КонецПроцедуры

Чтобы выполнить этот код:

  1. Откройте Конфигуратор.
  2. Перейдите в Файл → Новый → Внешняя обработка.
  3. Вставьте код в модуль обработки и выполните его.

Использование COM-объекта V83.ComConnector

Для удалённого подключения к базе и получения списка пользователей можно использовать COM-соединение. Пример на PowerShell:

$ComConnector = New-Object -ComObject V83.ComConnector

$Connection = $ComConnector.Connect("File=C:\Bases\Buhgalteriya;Usr=Администратор;Pwd=пароль;")

$Sessions = $Connection.Sessions

$Sessions | ForEach-Object { Write-Host "Пользователь: $($_.UserName), Компьютер: $($_.HostName)" }

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

Можно создать регламентное задание в 1С, которое будет раз в час отправлять отчёт об активных сеансах на email администратора. Для этого:

1. Напишите обработку с кодом из примера выше.

2. Настройте регламентное задание через Администрирование → Регламентные задания.

3. Укажите расписание и адрес электронной почты для уведомлений.

Частые ошибки и как их избежать

При работе с активными пользователями администраторы часто сталкиваются с типичными проблемами. Вот самые распространённые из них и способы их решения:

⚠️ Внимание: Принудительное завершение сеансов может привести к потере несохранённых данных пользователя. Всегда предупреждайте пользователей перед отключением, если это возможно.

Ошибка 1: «Не вижу пользователей в Мониторе сервера»

Причины и решения:

  • 🔹 Недостаточно прав — убедитесь, что ваша учётная запись имеет роль Администратор кластера.
  • 🔹 Не выбран кластер — в Мониторе сервера проверьте, что вы подключены к правильному кластеру (особенно если их несколько).
  • 🔹 Сервис 1С не запущен — перезапустите службу 1C:Enterprise 8.3 Server Agent.

Ошибка 2: «SQL-запрос не показывает сеансы 1С»

Возможные проблемы:

  • 🔹 Неверный фильтр — в запросе проверяйте program_name LIKE '%1C%' (иногда 1С регистрируется как 1cv8 или 1cv8c).
  • 🔹 Сеансы неактивны — добавьте условие WHERE status = 'active' (для PostgreSQL).

Ошибка 3: «Пользователь висит в базе, но его нет в списке активных»

Это типичная ситуация для «зависших» транзакций. Решение:

  1. Проверьте блокировки через sp_who2 (для SQL Server) или pg_locks (для PostgreSQL).
  2. Принудительно завершите проблемный сеанс через KILL [session_id].
⚠️ Внимание: Интерфейсы администрирования 1С могут меняться в новых версиях платформы. Если вы работаете с 1С 8.3.20+, проверьте актуальность путей меню в документации или через Справка → О программе.

FAQ: Ответы на частые вопросы

Можно ли увидеть активных пользователей в файловой версии 1С без дополнительных утилит?

В файловой версии стандартными средствами можно посмотреть активных пользователей только через Журнал регистрации (с фильтром по последним событиям) или утилиту ring. Монитор сервера и SQL-запросы в файловом варианте не работают.

Как отключить пользователя, который блокирует базу?

Способы зависят от варианта 1С:

  • 🔹 Серверная 1С: через Монитор сервера (правый клик → Завершить сеанс) или команду rac session terminate.
  • 🔹 Файловая 1С: через ring admin terminate или принудительное завершение процесса 1cv8.exe в Диспетчере задач.
  • 🔹 SQL-вариант: через KILL [session_id] в СУБД.

Перед отключением проверьте, не выполняет ли пользователь критические операции (например, закрытие месяца).

Почему в Мониторе сервера не отображаются все пользователи?

Возможные причины:

  • 🔹 Пользователи подключены к другой информационной базе в этом же кластере.
  • 🔹 Сеансы завершились, но не отобразились в Мониторе из-за задержки обновления (обновите список кнопкой F5).
  • 🔹 Пользователи работают через веб-клиент или мобильное приложение — такие сеансы могут отображаться иначе.
Как ограничить количество одновременно работающих пользователей?

Ограничения настраиваются в Конфигураторе:

  1. Откройте конфигурацию базы.
  2. Перейдите в Администрирование → Пользователи.
  3. Для каждого пользователя укажите максимальное количество сеансов в свойстве Лимит сеансов.

Для глобального ограничения по лицензиям используйте настройки Лицензирования в Администрировании кластера серверов.

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

Стандартными средствами 1С — нет. Однако можно:

  • 🔹 Использовать 1С:Администратор сервера (платное решение).
  • 🔹 Написать обработку на встроенном языке, которая будет логировать открытые формы (требует модификации конфигурации).
  • 🔹 Анализировать блокировки в SQL (например, через sp_who2 для MS SQL).