Контроль активных пользователей в 1С:Зарплата и Управление Персоналом 8 (ЗУП) — критически важная задача для администраторов и руководителей. Без этой информации невозможно оценить нагрузку на систему, выявить несанкционированный доступ или просто понять, почему базу «подвисает» в пиковые часы. Но стандартный интерфейс 1С не всегда очевиден: функции просмотра сессий разбросаны по разным меню, а некоторые методы требуют прав суперпользователя или знания SQL.
В этой статье мы разберём все рабочие способы — от базовых (доступных даже кадровику) до продвинутых (для ИТ-специалистов). Вы узнаете, как увидеть не только имена пользователей, но и их точные действия в реальном времени, время бездействия, а также как закрыть «зависшие» сессии без перезагрузки сервера. Особое внимание уделим нюансам работы в файловом и клиент-серверном вариантах 1С, поскольку алгоритмы там принципиально разные.
——— ——— ———
1. Стандартный отчёт «Активные пользователи»: где искать и что показывает
Самый простой способ — воспользоваться встроенным отчётом Активные пользователи. Он доступен в большинстве версий 1С:ЗУП (включая 3.1 и 3.2) и не требует специальных прав, если у вас есть роль Администратор или Полные права.
Чтобы открыть отчёт:
- Запустите 1С:ЗУП в режиме
Конфигуратор(для файловой базы) или подключитесь к серверу 1С:Предприятие. - Перейдите в меню
Администрирование → Поддержка и обслуживание → Активные пользователи. - В клиент-серверном варианте путь может отличаться:
Администрирование → Сервис → Активные пользователи.
В отчёте вы увидите таблицу с колонками:
- 👤 Пользователь — имя учётной записи из справочника
Пользователи. - 🖥️ Компьютер — имя или IP рабочей станции.
- ⏱️ Время начала сеанса и Последняя активность — помогает выявить «зависшие» подключения.
- 📄 Текущая операция — например,
Открытие документа "Начисление зарплаты".
Если колонки Текущая операция нет — обновите конфигурацию или проверьте настройки прав. В некоторых релизах 1С:ЗУП 3.0 эта информация скрыта по умолчанию.
Ограничения метода:
- ❌ Не показывает историю действий — только текущий статус.
- ❌ В файловом варианте может отображать не все сессии (например, если базу открыли через
1Cv8.exe /IBConnectionTest). - ❌ Нет возможности принудительно отключить пользователя из этого отчёта.
2. Журнал регистрации: кто и что делал в базе
Если вам нужно не просто увидеть активных пользователей, а проанализировать их действия за период (например, кто вносил изменения в кадровые данные), используйте Журнал регистрации. Этот инструмент фиксирует все события в базе — от открытия форм до сохранения документов.
Как открыть журнал:
- В режиме
1С:Предприятиеперейдите вАдминистрирование → Журналы → Журнал регистрации. - Установите фильтр по дате и пользователю (если нужно).
- Для детального анализа экспортируйте данные в
ExcelкнопкойВыгрузить.
Что можно узнать из журнала:
| Тип события | Пример записи | Что это значит |
|---|---|---|
| Открытие формы | Открыта форма "Справочник.Сотрудники" | Пользователь просматривал список сотрудников. |
| Запись документа | Создан документ "Приём на работу" №123 от 15.05.2026 | Добавлен новый сотрудник в базу. |
| Ошибка | Ошибка при проведении документа "Начисление зарплаты": Поле не заполнено | Пользователь пытался провести документ с ошибкой. |
| SQL-запрос | Выполнен запрос: SELECT * FROM Сотрудники WHERE Уволен = 0 | Пользователь или отчёт выполнил запрос к базе данных. |
Важно: журнал регистрации не показывает текущие сессии, а только историю. Для анализа активности в реальном времени комбинируйте его с отчётом Активные пользователи.
3. Просмотр сессий через «Консоль кластера» (для клиент-серверного варианта)
Если ваша 1С:ЗУП работает на сервере 1С:Предприятие, самый надёжный способ контроля — Консоль кластера серверов. Она показывает все активные соединения, включая фоновые задачи (например, регламентные задания).
Инструкция:
- Откройте
Консоль кластерачерезПуск → 1С Предприятие 8.3 → Администрирование кластера серверов. - Подключитесь к вашему кластеру (укажите имя сервера и порт, обычно
1541). - Перейдите на вкладку
СеансыилиСоединения(в зависимости от версии консоли). - В списке вы увидите все активные сессии с детализацией:
- 🔹 Имя пользователя и база данных.
- 🔹 IP-адрес рабочей станции.
- 🔹 Время начала и последней активности.
- 🔹 Блокировки (если пользователь заблокировал объекты).
Преимущества метода:
- ✅ Видны все сессии, включая системные (например, отчёт
Регламентные задания). - ✅ Можно принудительно отключить пользователя кнопкой
Завершить сеанс. - ✅ Показывает блокировки, которые могут тормозить работу других пользователей.
Консоль кластера — единственный инструмент, который показывает скрытые сессии (например, подключения через OLE или COM-соединения).
Обратите внимание: для доступа к консоли нужны права администратора сервера 1С. Если у вас их нет, обратитесь к ИТ-отделу.
4. SQL-запрос для продвинутых пользователей
Если стандартные отчёты не дают нужной информации (например, в файловой базе или устаревшей версии 1С:ЗУП), можно использовать прямой SQL-запрос к системным таблицам. Этот метод требует знания T-SQL и доступа к серверу Microsoft SQL Server или PostgreSQL.
Пример запроса для MS SQL Server (показывает активные сессии в базе 1С):
SELECT
ses.session_id,
ses.login_name AS [Пользователь],
ses.host_name AS [Компьютер],
ses.last_request_start_time AS [Последняя активность],
ses.status AS [Статус],
DB_NAME(dm_tdb.database_id) AS [База данных],
dm_os_task.text AS [Текущая операция]
FROM
sys.dm_exec_sessions ses
LEFT JOIN
sys.dm_exec_connections dm_ec ON ses.session_id = dm_ec.session_id
LEFT JOIN
sys.dm_exec_requests dm_er ON ses.session_id = dm_er.session_id
OUTER APPLY
sys.dm_exec_sql_text(dm_er.sql_handle) dm_os_task
LEFT JOIN
sys.dm_tran_database_transactions dm_tdb ON ses.session_id = dm_tdb.session_id
WHERE
ses.is_user_process = 1
AND DB_NAME(dm_tdb.database_id) = 'ВашаБазаЗУП' -- Укажите имя вашей базы
ORDER BY
ses.last_request_start_time DESC;
Что можно узнать из результатов запроса:
- 🔍 Сессии без активности (статус
sleeping) — их можно безопасно закрыть. - 🔍 Длительные транзакции (колонка
open_transaction_count), которые блокируют другие операции. - 🔍 Текст текущего запроса (колонка
Текущая операция) — полезно для отладки.
Как завершить сессию через SQL?
Чтобы принудительно закрыть сессию, выполните команду:
KILL {session_id};
Где {session_id} — номер сессии из колонки session_id. Будьте осторожны: это может прервать важные операции!
⚠️ Внимание: Не выполняйте SQL-запросы к базе 1С, если не уверены в их безопасности. Ошибка в запросе может привести к повреждению данных. Всегда делайте резервную копию перед экспериментами.
5. Просмотр через «Тестовое соединение» (для файловой базы)
В файловом варианте 1С:ЗУП (когда база хранится в файле .1CD) стандартные инструменты часто не показывают всех пользователей. В этом случае поможет утилита 1Cv8.exe с ключом /IBConnectionTest.
Инструкция:
- Закройте все экземпляры 1С на вашем компьютере.
- Откройте командную строку (
Win + R → cmd). - Выполните команду:
"C:\Program Files\1cv8\8.3.{версия}\bin\1cv8.exe" /IBConnectionTest "Srvr=localhost;Ref=ВашаБаза;"Где
{версия}— ваша версия платформы (например,8.3.22.1864), аВашаБаза— имя файловой базы. - В окне результатов найдите блок
Active sessions— там будут перечислены все подключённые пользователи.
Особенности метода:
- ✅ Работает даже если база «зависла» и не открывается в обычном режиме.
- ✅ Показывает скрытые подключения (например, от внешних отчётов).
- ❌ Не показывает детали действий пользователей (только факт подключения).
Убедитесь, что у вас есть права на папку с базой|Закройте все экземпляры 1С на компьютере|Сделайте резервную копию файла .1CD|Проверьте версию платформы 1С (в свойствах ярлыка)
-->
6. Использование внешних обработок для мониторинга
Если встроенных инструментов недостаточно, можно воспользоваться внешними обработками от сообщества 1С. Они расширяют возможности стандартных отчётов и часто бесплатны.
Популярные обработки:
- 📊 «Монитор активных пользователей» — показывает сессии с детализацией до открытых документов. Скачать на Инфостарте.
- 🔍 «Анализ блокировок» — выявляет, какие объекты заблокированы и кем.
- ⏱️ «Журнал активности» — ведёт лог действий пользователей в реальном времени.
Как подключить обработку:
- Скачайте файл обработки (
.epfили.erf). - В 1С:ЗУП откройте
Файл → Открыть…и выберите скачанный файл. - Следуйте инструкциям обработки (обычно нужно нажать
ЗапуститьилиВыполнить).
Преимущества внешних обработок:
- ✅ Часто содержат расширенную аналитику (например, графики нагрузки по времени).
- ✅ Можно настроить автоматические оповещения о подозрительной активности.
- ✅ Поддерживают экспорт в Excel для дальнейшего анализа.
Перед установкой обработки проверьте её совместимость с вашей версией 1С:ЗУП и платформы. Некоторые обработки требуют доработки для актуальных релизов.
7. Как закрыть «зависшие» сессии без перезагрузки сервера
Если в базе висит пользователь, который давно не активен, но его сессия не закрывается автоматически, её можно принудительно завершить. Способы зависят от варианта работы 1С:
Для клиент-серверного варианта:
- Через
Консоль кластера(см. раздел 3): выделите сессию →Завершить сеанс. - Через
SQL-запрос(см. раздел 4):KILL {session_id}.
Для файловой базы:
- Используйте утилиту
chdbfl.exe(входит в комплект 1С):chdbfl.exe /D"Путь\к\базе.1CD" /CUser:ИмяПользователя - Перезапустите службу
Агент сервера 1С:Предприятие 8.3(если база подключена через сервер).
⚠️ Внимание: Принудительное завершение сессии может привести к потере несохранённых данных пользователя. Всегда предупреждайте сотрудников перед такими действиями!
Если сессия не закрывается даже после принудительного завершения:
- Проверьте, не заблокирован ли файл базы (
.1CD) антивирусом или другим ПО. - Перезагрузите сервер (в клиент-серверном варианте) или компьютер (в файловом).
- Обратитесь в поддержку 1С, если проблема повторяется регулярно — это может указывать на ошибки в конфигурации.
8. Настройка автоматического контроля активности
Чтобы не проверять пользователей вручную, настройте автоматический мониторинг:
Способ 1: Регламентное задание в 1С
- Создайте обработку, которая будет отправлять отчёт об активных пользователях на email.
- Настройте её выполнение по расписанию через
Администрирование → Регламентные задания.
Способ 2: Внешние системы мониторинга
- Используйте Zabbix или Nagios для отслеживания нагрузки на сервер 1С.
- Настройте оповещения в Telegram или Slack при превышении порога активных сессий.
Способ 3: Логирование в SQL
- Создайте триггер на системных таблицах MS SQL Server, который будет записывать все подключения в отдельную таблицу.
- Настройте
SQL Agentдля отправки сводки раз в час.
Автоматический мониторинг особенно важен для крупных компаний, где одновременно работают десятки пользователей. Он помогает предотвратить перегрузку сервера и своевременно реагировать на подозрительную активность.
⚠️ Внимание: При настройке автоматического контроля учитывайте законодательные ограничения. В некоторых странах фиксация действий пользователей без их согласия может нарушать законы о защите персональных данных (например, ГДПР в ЕС или 152-ФЗ в России). Всегда уведомляйте сотрудников о мониторинге!
——— ——— ———
FAQ: Частые вопросы по контролю пользователей в 1С ЗУП
Могу ли я увидеть, какой именно документ открыт у пользователя?
Да, но способы зависят от варианта работы:
- В клиент-серверном варианте это видно в
Консоли кластера(колонкаТекущая операция) или черезSQL-запрос. - В файловом варианте такую детализацию дают только внешние обработки (например, «Монитор активных пользователей»).
Почему в отчёте «Активные пользователи» не показываются все сессии?
Возможные причины:
- У вас недостаточно прав (нужна роль Администратор).
- Пользователь подключён через
OLEилиCOM(такие сессии видны только вКонсоли кластераили черезSQL). - В файловой базе сессия «зависла» на уровне ОС (проверьте через
1Cv8.exe /IBConnectionTest).
Как запретить пользователю работать в базе после 18:00?
Настройте расписание доступа:
- Откройте справочник
Пользователи(Администрирование → Настройка пользователей и прав). - Выберите пользователя → вкладка
Расписание. - Установите ограничение по времени (например, с 9:00 до 18:00).
Альтернатива: создайте регламентное задание, которое будет автоматически отключать пользователей после 18:00.
Можно ли узнать, с какого компьютера подключён пользователь?
Да, эта информация доступна:
- В отчёте
Активные пользователи(колонкаКомпьютер). - В
Журнале регистрации(полеКомпьютер). - В
Консоли кластера(колонкаHostилиIP-адрес).
Если вместо имени компьютера отображается IP, проверьте настройки DNS в вашей сети.
Что делать, если пользователь заблокировал базу и её невозможно открыть?
Последовательность действий:
- Попробуйте завершить сессию через
Консоль кластераилиSQL. - Если не помогает — перезапустите службу
Агент сервера 1С:Предприятие 8.3. - В крайнем случае перезагрузите сервер (в клиент-серверном варианте) или компьютер с файловой базой.
- После восстановления доступа проверьте базу на ошибки утилитой
chdbfl.exe /R.
⚠️ Если проблема повторяется, обратитесь в поддержку 1С — это может быть признаком повреждения базы.