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

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

Перед тем как приступить, убедитесь, что у вас есть права администратора или как минимум роль Администрирование сервера 1С. Без этого большинство методов будут недоступны. Также обратите внимание: в зависимости от версии платформы (1С 8.2 или 8.3) и типа сервера (файловый или клиент-серверный) доступные инструменты могут отличаться.

Если вы администрируете облачную версию 1С:Fresh или арендуете сервер у партнёров, некоторые методы (например, прямой доступ к SQL) могут быть ограничены. В этом случае обратитесь к документации вашего провайдера или в службу поддержки.

1. Способ: Монитор сервера 1С — самый простой вариант

Встроенный Монитор сервера 1С — это первый инструмент, к которому стоит обратиться. Он предоставляет визуальный интерфейс для наблюдения за активными сессиями, блокировками и производительностью. Чтобы открыть его:

1. Запустите 1С:Предприятие в режиме Конфигуратор.

2. Перейдите в меню Администрирование → Монитор сервера1С 8.3) или Сервис → Монитор сервера1С 8.2).

3. В открывшемся окне выберите нужный кластер серверов (если их несколько).

В таблице Активные сессии вы увидите список пользователей с указанием:

  • 👤 Имени пользователя (логин в 1С)
  • 🖥️ Компьютера, с которого подключились
  • ⏱️ Времени начала сессии
  • 📊 Текущей активности (например, "Выполнение запроса" или "Бездействие")
  • 🔒 Блокировок, если они есть

Обратите внимание: если сессия висит слишком долго (например, несколько часов в статусе "Бездействие"), её можно принудительно завершить. Для этого выделите строку и нажмите Завершить сессию. Однако принудительное завершение активной транзакции может привести к повреждению данных, поэтому используйте эту опцию с осторожностью.

⚠️ Внимание: В файловом варианте работы (без сервера) Монитор сервера недоступен. В этом случае используйте альтернативные методы из следующих разделов.
📊 Какой способ просмотра активных пользователей вы используете чаще?
Монитор сервера 1С
Консоль кластера
SQL-запросы
Стороние утилиты
Не знаю, как это сделать

2. Способ: Консоль кластера серверов 1С

Если вам нужно получить данные в текстовом формате или автоматизировать мониторинг, подойдёт консоль кластера серверов. Этот метод работает только для клиент-серверного варианта 1С:Предприятие.

Чтобы открыть консоль:

  1. Запустите командную строку от имени администратора.
  2. Перейдите в каталог установки (обычно это C:\Program Files\1cv8\8.3.x.xxx\bin).
  3. Выполните команду:
    rac.exe cluster list

    чтобы увидеть список доступных кластеров.

  4. Подключитесь к нужному кластеру:
    rac.exe session --cluster=ИмяКластера list

В результате вы получите таблицу с активными сессиями, аналогичную той, что показывает Монитор сервера, но в текстовом виде. Преимущество этого метода — возможность сохранять логи в файл для дальнейшего анализа. Например, чтобы записать список сессий в sessions.log, используйте команду:

rac.exe session --cluster=ИмяКластера list > C:\logs\sessions.log

Консоль кластера также позволяет управлять сессиями через команды:

  • 🛑 rac.exe session --cluster=ИмяКластера terminate --id=ИД_Сессии — завершить сессию по ID
  • 🔄 rac.exe session --cluster=ИмяКластера refresh — обновить данные
  • 📊 rac.exe session --cluster=ИмяКластера list --full — показать расширенную информацию
⚠️ Внимание: Команды rac.exe чувствительны к регистру и пробелам. Если кластер имеет пробелы в имени, заключите его в кавычки: --cluster="Мой Кластер".

Убедиться, что служба "Агент сервера 1С" запущена|Проверить права на доступ к каталогу bin|Запустить командную строку от имени администратора|Узнать точное имя кластера (через rac.exe cluster list)-->

3. Способ: SQL-запросы к базе данных (для опытных)

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

Для Microsoft SQL Server используйте запрос:

SELECT

s.session_id,

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

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

s.program_name AS [Приложение],

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

s.status AS [Статус],

t.text AS [Текущий запрос]

FROM

sys.dm_exec_sessions s

LEFT JOIN

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

CROSS APPLY

sys.dm_exec_sql_text(r.sql_handle) t

WHERE

s.program_name LIKE '%1cv8%'

Для PostgreSQL подойдёт следующий запрос (актуально для на PostgreSQL 9.6+):

SELECT

pid AS session_id,

usename AS login_name,

client_addr AS host_name,

application_name AS program_name,

backend_start AS login_time,

state AS status,

query AS current_query

FROM

pg_stat_activity

WHERE

application_name LIKE '%1cv8%';

В результате вы получите таблицу с активными подключениями, включая:

  • 🔢 ID сессии (пригодится для принудительного отключения)
  • 👤 Имя пользователя в базе данных
  • ⏱️ Время начала сессии
  • 📜 Текущий выполняемый запрос (если есть)

Чтобы завершить "зависшую" сессию в SQL Server, используйте:

KILL [ID_Сессии];

В PostgreSQL аналогичная команда:

SELECT pg_terminate_backend([pid]);
Параметр SQL Server PostgreSQL
Таблица сессий sys.dm_exec_sessions pg_stat_activity
Поле с именем пользователя login_name usename
Команда завершения сессии KILL [ID] pg_terminate_backend([pid])
Фильтр по 1С program_name LIKE '%1cv8%' application_name LIKE '%1cv8%'
⚠️ Внимание: Принудительное завершение SQL-сессий может нарушить целостность данных в , если в этот момент выполнялась транзакция. Используйте этот метод только в крайних случаях, когда другие способы не помогают.
💡

Если вы часто анализируете активность пользователей через SQL, создайте представление (VIEW) с нужными полями. Это сэкономит время и упростит повторные запросы.

4. Способ: Утилиты сторонних разработчиков

Если стандартных инструментов недостаточно, можно воспользоваться сторонними утилитами. Они предлагают расширенные возможности мониторинга, визуализации и оповещений. Вот наиболее популярные решения:

1. 1С:Администратор сервера (от фирмы 1С)

- Входит в состав дистрибутива 1С:Предприятие.

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

- Поддерживает настройку уведомлений о длительных сессиях.

2. Lightspeed для 1С (от компании Lightspeed)

- Платное решение с расширенной аналитикой.

- Визуализирует нагрузку на сервер в реальном времени.

- Может интегрироваться с системами мониторинга (например, Zabbix).

3. SQL Monitor (от Redgate)

- Универсальный инструмент для мониторинга SQL Server, но подходит и для анализа сессий .

- Отслеживает долгие запросы и блокировки.

4. PGAdmin (для PostgreSQL)

- Бесплатная утилита с графическим интерфейсом для управления PostgreSQL.

- Позволяет в реальном времени наблюдать за активными подключениями .

Преимущества сторонних утилит:

  • 📈 Визуализация данных (графики нагрузки, диаграммы)
  • 🔔 Настройка оповещений (например, при превышении количества сессий)
  • 📊 Аналитика исторических данных (тренды, отчёты)
  • 🔄 Автоматизация рутинных задач (например, очистка старых сессий)

Недостатки:

- Стоимость (для платных решений).

- Необходимость обучения работе с новым ПО.

- Возможные проблемы совместимости с новыми версиями .

Как выбрать утилиту для мониторинга?

Если вам нужны базовые функции (просмотр сессий и блокировок), хватит стандартного Монитора сервера 1С или 1С:Администратор сервера. Для глубокого анализа производительности (например, поиска "тяжёлых" запросов) подойдут Lightspeed или SQL Monitor. Если работаете с PostgreSQL, обратите внимание на PGAdmin или DBeaver (бесплатные и функциональные).

5. Способ: Журналы регистрации 1С

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

Чтобы включить ведение журнала:

  1. Откройте Конфигуратор.
  2. Перейдите в Администрирование → Настройка журнала регистрации.
  3. Установите флаги:
    • 📝 Регистрировать подключения пользователей
    • ⏱️ Регистрировать длительные операции (укажите порог, например, 10 секунд)
  • Сохраните настройки и перезапустите .
  • Журналы хранятся в каталоге:

    - Для файлового варианта: %APPDATA%\1C\1Cv8\logs (для текущего пользователя) или C:\ProgramData\1C\1Cv8\logs (для всех пользователей).

    - Для клиент-серверного варианта: на сервере в каталоге кластера (обычно C:\Program Files\1cv8\srvinfo\reg_1541\, где 1541 — номер порта).

    Файлы журнала имеют расширение .lgf и могут быть просмотрены:

    - Вручную (через любой текстовый редактор, например, Notepad++).

    - Через встроенный просмотрщик в Конфигураторе (Администрирование → Журналы регистрации).

    - С помощью утилиты logcfg.exe (входит в состав ).

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

    {1}: 2026-05-20 14:30:15.123 INFO  RAS: User=ИвановИИ, Computer=PC-01, App=1CV8, Event=Connect

    Чтобы быстро найти активных пользователей, используйте поиск по ключевым словам:

    - Event=Connect — подключение пользователя.

    - Event=Disconnect — отключение.

    - Event=LongOperation — длительные операции.

    ⚠️ Внимание: Журналы регистрации могут быстро разрастаться (особенно при высокой нагрузке). Настройте автоматическую ротацию логов или ограничьте их размер в настройках, чтобы не перегружать дисковое пространство.
    💡

    Журналы регистрации — единственный способ отследить активность пользователей в файловом варианте , где нет доступа к Монитору сервера или SQL.

    6. Типичные ошибки и как их избежать

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

    1. Не отображаются все сессии в Мониторе сервера

    Причина: Монитор показывает только сессии текущего кластера. Если у вас несколько кластеров, проверьте подключение к нужному.

    Решение: Используйте команду rac.exe cluster list, чтобы увидеть все доступные кластеры, и подключитесь к правильному.

    2. Нет прав на просмотр сессий

    Причина: У вашей учётной записи недостаточно прав (нужна роль Администрирование сервера 1С).

    Решение: Обратитесь к администратору сервера или настройте права через Консоль управления 1С (rac.exe user grant).

    3. SQL-запрос возвращает пустой результат

    Причина: Возможно, фильтр по program_name неверный. В новых версиях имя программы может отличаться (например, 1cv8c вместо 1cv8).

    Решение: Уберите фильтр и посмотрите все активные сессии, чтобы определить правильное имя.

    4. Нельзя завершить сессию — ошибка "Транзакция активна"

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

    Решение: Попробуйте связаться с пользователем и попросить его сохранить данные. Если это невозможно, дождитесь завершения транзакции или используйте KILL с флагом WITH ROLLBACK (для SQL Server).

    5. В журнале регистрации нет записей о пользователях

    Причина: Ведение журнала отключено или настроено некорректно.

    Решение: Проверьте настройки в Администрирование → Настройка журнала регистрации и убедитесь, что включена регистрация подключений.

    Ошибка Вероятная причина Решение
    Монитор сервера не открывается Служба "Агент сервера 1С" не запущена Запустите службу через services.msc или перезагрузите сервер
    Команда rac.exe не распознаётся Неправильный путь или отсутствуют права Запускайте из каталога bin от имени администратора
    SQL-запрос выполняется слишком долго Большое количество сессий или блокировок Добавьте фильтр по времени (WHERE login_time > '2026-05-20')
    Журналы регистрации пустые Не хватает места на диске или отключена запись Проверьте свободное место и настройки журнала

    FAQ: Частые вопросы по активным пользователям в 1С

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

    Да, но не через стандартные инструменты. Для этого нужно:

    1. Подключиться к базе через SQL Server Management Studio или PGAdmin.
    2. Выполнить запрос к таблице v8users (для SQL Server) или pg_locks (для PostgreSQL).
    3. Найти блокировки, связанные с конкретным пользователем, и проанализировать, какие объекты меток данных задействованы.

    Для упрощения задачи можно использовать утилиты вроде 1С:Администратор сервера или Lightspeed, которые визуализируют блокировки.

    Как завершить сессию пользователя, если он забыл закрыть 1С на ночь?

    Самый безопасный способ:

    1. Откройте Монитор сервера 1С.
    2. Найдите сессию пользователя (обратите внимание на столбец "Время бездействия").
    3. Если сессия в статусе "Бездействие" более 1 часа, выделите её и нажмите Завершить сессию.
    4. Если сессия активна (например, идёт проведение документа), свяжитесь с пользователем. Принудительное завершение может привести к ошибкам в базе.

    Почему в Мониторе сервера отображаются "призрачные" сессии, которых нет на самом деле?

    Это известная проблема, связанная с некорректным завершением сессий (например, при аварийном закрытии или обрыве сети). Чтобы очистить список:

    1. Перезапустите службу Агент сервера 1С.
    2. Если не помогло, выполните команду:
      rac.exe cluster cleanup --cluster=ИмяКластера

    В крайнем случае перезагрузите сервер.

    Можно ли ограничить количество одновременно работающих пользователей?

    Да, это настраивается на уровне лицензий и конфигурации сервера:

    • 🔑 Лицензионное ограничение: Количество пользователей лимитируется купленными лицензиями (например, 5, 10, 50 пользователей).
    • ⚙️ Настройка кластера: В файле конфигурации кластера (srvinfo.conf) можно ограничить максимальное количество сессий параметром MaxSessions.
    • 📋 Настройка базы: В некоторых конфигурациях (например, 1С:Управление торговлей) есть возможность ограничивать доступ по ролям или времени.
    • Чтобы изменить лимит, обратитесь к администратору сервера или в службу поддержки .

    Как узнать, кто блокирует объект в базе (например, документ или справочник)?

    Для этого:

    1. Откройте Монитор сервера 1С и перейдите на вкладку Блокировки.
    2. Найдите заблокированный объект (отображается в формате Справочник.Номенклатура или Документ.РеализацияТоваровУслуг).
    3. В столбце Сессия будет указан ID сессии, которая держит блокировку. По этому ID можно найти пользователя на вкладке Активные сессии.

    Если блокировка держится слишком долго (более 10 минут), её можно попытаться снять принудительно, но это рискованно — лучше связаться с пользователем.