Контроль активных пользователей в 1С:Предприятие 8.3 — критически важная задача для администраторов и разработчиков. Без этой информации невозможно оценить нагрузку на сервер, выявить «зависшие» сеансы или оперативно решить проблемы с блокировками данных. В отличие от более ранних версий, 1С 8.3 предлагает несколько инструментов для мониторинга активности, но не все из них очевидны для новичков.
В этой статье мы разберём 5 проверенных способов просмотра активных пользователей — от стандартных функций платформы до скрытых возможностей, о которых не пишут в официальной документации. Вы узнаете, как использовать Монитор сервера 1С, журнал регистрации, консольные команды и даже SQL-запросы (для клиент-серверного варианта). Особое внимание уделим разнице между файловой и серверной версиями 1С, так как методы мониторинга в них принципиально отличаются.
Если вы админ, столкнувшийся с подвисающими сеансами, или разработчик, которому нужно срочно «выгнать» пользователя из базы — эта инструкция сэкономит вам часы поисков по форумам. Начнём с самого простого и перейдём к продвинутым техникам.
1. Стандартный способ: Монитор сервера 1С (для клиент-серверного варианта)
Самый надёжный и информативный метод — использование встроенного Монитора сервера 1С. Он доступен только в клиент-серверной версии (например, при работе с 1С:Предприятие 8.3 для SQL Server или PostgreSQL). В файловом варианте этот инструмент бесполезен.
Чтобы открыть Монитор сервера:
- Запустите
1С:Предприятиев режимеКонфигуратор. - Перейдите в меню
Администрирование → Монитор сервера. - В открывшемся окне выберите нужный кластер серверов (если их несколько).
- Разверните ветку
Рабочие процессы— здесь отобразятся все активные сеансы с указанием пользователей, баз данных и времени подключения.
В Мониторе сервера вы увидите:
- 👤 Имя пользователя (логины всех подключённых)
- 💻 Компьютер (IP или имя ПК)
- ⏱️ Время подключения и продолжительность сеанса
- 📊 Активность (выполняемые операции, блокировки)
Если в Мониторе сервера не отображаются пользователи, проверьте права доступа вашей учётной записи. Для полноценного просмотра требуются права администратора кластера серверов 1С.
Через Монитор сервера можно не только смотреть, но и принудительно завершать сеансы. Для этого:
- Выделите нужного пользователя в списке.
- Нажмите правой кнопкой и выберите
Завершить сеанс. - Подтвердите действие (сеанс будет закрыт без сохранения данных на стороне пользователя!).
Монитор сервера — единственный инструмент, который показывает реальное время выполнения запросов и блокировки на уровне СУБД. Это незаменимо для диагностики «подвисаний» базы.
2. Журнал регистрации: кто и когда работал в базе
Если Монитор сервера недоступен (например, в файловом варианте 1С), на помощь придёт журнал регистрации. Он фиксирует все события в базе, включая входы и выходы пользователей. Однако здесь есть нюанс: журнал показывает историю активности, а не текущие сеансы.
Чтобы открыть журнал:
- В
Конфигуратореперейдите вАдминистрирование → Журнал регистрации. - Установите фильтр по событию
Начало сеансаилиОкончание сеанса. - Отсортируйте записи по времени (например, за последние 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
Вывод будет менее детализированным, но покажет, кто подключён к базе в данный момент.
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С подойдут платные инструменты:
- 🛠️ 1С:Администратор сервера — расширенный мониторинг кластера
- 📊 SQL Monitor (от Redgate) — для анализа производительности SQL-запросов
- 🔧 DBMonitor — отслеживание блокировок в реальном времени
Внешние утилиты незаменимы для диагностики скрытых проблем, которые не видны в стандартных инструментах 1С. Например, они могут показать, что «подвисание» базы вызвано не пользовательскими сеансами, а фоновыми заданиями регламентных операций.
6. Альтернативные методы: скрипты и программное получение списка пользователей
Для автоматизации мониторинга можно написать скрипт на 1С:Предприятие или использовать COM-соединение. Это актуально, если вам нужно интегрировать проверку активных пользователей в собственную систему администрирования.
Пример кода на встроенном языке 1С
Следующий скрипт вернёт список активных пользователей в текущей базе:
Процедура ПолучитьАктивныхПользователей()
Сеансы = Новый Структура();
Для Каждого Сеанс Из СеансыИнформационнойБазы() Цикл
Если НЕ Сеанс.Завершен Тогда
Пользователь = Сеансы.Пользователи.Найти(Сеанс.Пользователь);
Если Пользователь = Неопределено Тогда
Сеансы.Вставить(Сеанс.Пользователь, Сеанс.Компьютер);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат Сеансы;
КонецПроцедуры
Чтобы выполнить этот код:
- Откройте
Конфигуратор. - Перейдите в
Файл → Новый → Внешняя обработка. - Вставьте код в модуль обработки и выполните его.
Использование 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: «Пользователь висит в базе, но его нет в списке активных»
Это типичная ситуация для «зависших» транзакций. Решение:
- Проверьте блокировки через
sp_who2(для SQL Server) илиpg_locks(для PostgreSQL). - Принудительно завершите проблемный сеанс через
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С — нет. Однако можно:
- 🔹 Использовать 1С:Администратор сервера (платное решение).
- 🔹 Написать обработку на встроенном языке, которая будет логировать открытые формы (требует модификации конфигурации).
- 🔹 Анализировать блокировки в SQL (например, через
sp_who2для MS SQL).