Когда несколько сотрудников одновременно работают в 1С:Зарплата и Управление Персоналом 8.3, часто возникает необходимость оперативно узнать, кто именно в данный момент подключён к базе. Это актуально для администраторов, бухгалтеров и кадровых специалистов, которые нуждаются в контроле загрузки системы, разрешении конфликтов блокировок или планировании технических работ. Без знания текущих подключений невозможно безопасно выполнить регламентные операции — от обновления конфигурации до резервного копирования.

В этой статье мы разберём 5 проверенных способов просмотра активных пользователей в 1С 8.3 ЗУП — от стандартных инструментов платформы до SQL-запросов для опытных администраторов. Особое внимание уделим нюансам работы в файловом и клиент-серверном вариантах, а также типичным ошибкам, которые мешают получить актуальный список. Все методы протестированы на актуальных релизах платформы 8.3.20–8.3.23 и конфигурации ЗУП 3.1.

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

Самый надёжный и универсальный метод — использование встроенного Монитора активных пользователей, доступного через Конфигуратор. Этот инструмент работает и в файловом, и в клиент-серверном вариантах, но требует прав администратора.

Чтобы открыть монитор:

  • 🔧 Запустите 1С:Предприятие в режиме Конфигуратор (выберите базу, удерживайте Shift при запуске или выберите режим в меню).
  • 📊 Перейдите в меню Администрирование → Активные пользователи.
  • 🔍 В открывшемся окне вы увидите таблицу с колонками: Пользователь, Компьютер, Приложение, Время начала сеанса и Блокировки.

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

💡

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

2. Просмотр через «Монитор производительности» (для клиент-серверного варианта)

В клиент-серверных базах (например, на MS SQL Server или PostgreSQL) доступен расширенный инструмент — Монитор производительности. Он не только показывает активных пользователей, но и позволяет анализировать нагрузку на сервер.

Инструкция по использованию:

  1. Откройте Конфигуратор и перейдите в Администрирование → Монитор производительности.
  2. В левом меню выберите раздел Активные сеансы.
  3. В центральной части экрана отобразится таблица с детальной информацией:
    • 👤 Имя пользователя (логин в 1С)
    • 💻 Имя компьютера или IP-адрес
    • ⏱️ Длительность сеанса
    • 📦 Количество блокировок (критично для транзакций)

Преимущество этого метода — возможность фильтрации по времени и экспорта данных в Excel для анализа. Однако для его использования требуются права Администратор сервера 1С.

📊 Какой вариант 1С ЗУП вы используете?
Файловый
Клиент-серверный на MS SQL
Клиент-серверный на PostgreSQL
Облачная версия (1С:Fresh)

3. SQL-запрос для опытных администраторов

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

Пример запроса для MS SQL Server:

SELECT

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

s.login_name AS [Пользователь_СУБД],

u.DESCRIPTION AS [Пользователь_1С],

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

s.last_request_start_time AS [Последний_запрос]

FROM

sys.dm_exec_sessions s

LEFT JOIN

v8users u ON s.login_name COLLATE SQL_Latin1_General_CP1_CI_AS = u.name COLLATE SQL_Latin1_General_CP1_CI_AS

WHERE

s.is_user_process = 1

AND s.program_name LIKE '%1cv8%'

ORDER BY

s.last_request_start_time DESC

Для PostgreSQL запрос будет другим:

SELECT

usename AS пользователь_субд,

application_name AS приложение,

client_addr AS ip_адрес,

query_start AS время_запроса,

state AS статус

FROM

pg_stat_activity

WHERE

application_name LIKE '%1CV8%'

AND state = 'active'

ORDER BY

query_start DESC;

Почему в SQL-запросе могут отсутствовать данные?

Если сеанс пользователя неактивен (например, открыто окно 1С, но запросы не выполняются), он может не отображаться в sys.dm_exec_sessions или pg_stat_activity. Также проверьте, что подключение к базе выполняется от имени пользователя с правами на чтение системных представлений.

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

4. Альтернативный метод: Журнал регистрации 1С

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

Как проверить:

  • 📖 Откройте 1С:Предприятие в режиме 1С:Предприятие (не конфигуратор!).
  • 🔍 Перейдите в Администрирование → Журналы регистрации.
  • 🕒 Установите фильтр по дате/времени (например, последние 2 часа).
  • 🔎 В колонке Событие ищите записи с типами:
    • Начало сеанса — пользователь вошёл в систему.
    • Окончание сеанса — пользователь вышел.

Минус этого способа — отсутствие актуальности: если пользователь вошёл и не вышел (например, из-за сбоя), журнал не покажет, что он всё ещё активен. Однако здесь можно увидеть историю подключений, что полезно для аудита.

Метод Тип базы Требуемые права Плюсы Минусы
Монитор активных пользователей Файловая / Клиент-серверная Администратор 1С Простота, актуальные данные Требует конфигуратор
Монитор производительности Клиент-серверная Администратор сервера Детальная статистика, фильтры Сложный интерфейс
SQL-запрос Клиент-серверная Права на чтение СУБД Автоматизация, гибкость Риск ошибок, требует знаний SQL
Журнал регистрации Любая Пользователь с правами на журнал История подключений Не показывает текущий статус

5. Скрипт на встроенном языке 1С (для автоматизации)

Если вам нужно регулярно проверять активных пользователей (например, для отправки уведомлений о перегрузке системы), можно написать простой скрипт на встроенном языке . Этот метод подходит для любого варианта базы и не требует прав администратора СУБД.

Пример кода для вывода списка в сообщение:

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

Сеансы = ПолучаемСписокСеансов();

ТекстСообщения = "Активные пользователи:" + Символы.ПС;

Для Каждого Сеанс Из Сеансы Цикл

ТекстСообщения = ТекстСообщения +

Формат(Сеанс.Пользователь, "ЛП=' ', Л=15") + " | " +

Формат(Сеанс.Компьютер, "ЛП=' ', Л=15") + " | " +

Формат(Сеанс.ВремяНачала, "ДФ='DD.MM.YYYY HH:MI:SS'") + Символы.ПС;

КонецЦикла;

Сообщить(ТекстСообщения);

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

Функция ПолучаемСписокСеансов()

Возврат ПолучаемОбъектыМенеджераИнформационнойБазы().АктивныеПользователи.Выбрать();

КонецФункции

Чтобы запустить этот скрипт:

  1. Откройте Конфигуратор и создайте новую Обработку.
  2. Вставьте код в модуль обработки.
  3. Запустите обработку в режиме 1С:Предприятие.

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

Убедитесь, что у вас есть права администратора 1С или СУБД|Проверьте, не заблокирована ли база на обновление|Закройте все ненужные сеансы перед анализом|Сделайте резервную копию перед принудительным отключением пользователей-->

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

При работе с активными пользователями в 1С 8.3 ЗУП часто возникают проблемы, связанные с некорректными правами, зависшими сеансами или особенностями конфигурации. Разберём самые распространённые:

1. В мониторе не отображаются пользователи

  • 🔹 Проверьте, что вы смотрите ту же базу, в которой работают пользователи (в клиент-серверном варианте может быть несколько баз на одном сервере).
  • 🔹 Убедитесь, что у вашей учётной записи есть роль Администрирование или Полные права.
  • 🔹 В файловом варианте монитор показывает только пользователей, подключённых к тому же файлу базы (если база открыта через сетевой путь, проверьте, что путь совпадает у всех).

2. Пользователь "завис" в системе

Если сеанс висит несколько дней, но пользователь давно вышел:

  • 🔹 Попробуйте принудительно завершить сеанс через контекстное меню в мониторе.
  • 🔹 В клиент-серверном варианте перезапустите службу 1С:Предприятия на сервере (через services.msc в Windows).
  • 🔹 Проверьте, не блокирует ли сеанс длительная транзакция (в мониторе производительности посмотрите колонку Блокировки).

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

3. Ошибка "Нет прав на просмотр активных пользователей"

Если при открытии монитора появляется это сообщение:

  • 🔹 Зайдите в Конфигуратор под пользователем с правами Администратор.
  • 🔹 Проверьте настройки ролей: перейдите в Администрирование → Пользователи, выберите своего пользователя и добавьте роль Администрирование.
  • 🔹 В клиент-серверном варианте также может потребоваться роль Администратор сервера 1С в MS SQL Server Management Studio или pgAdmin.
💡

Перед принудительным отключением пользователей всегда проверяйте, не выполняются ли критичные операции (например, расчёт зарплаты или формирование отчётности). Лучше связаться с пользователем по телефону или корпоративному чату.

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

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

Нет, для просмотра активных пользователей через Конфигуратор или Монитор производительности требуются права администратора. Однако вы можете:

  • Попросить администратора предоставить вам временный доступ.
  • Использовать журнал регистрации (если у вас есть права на его просмотр).
  • Написать скрипт на встроенном языке, который будет отправлять отчёт на ваш email (нужно согласовать с администратором).
Как узнать, какой именно документ блокирует пользователь?

В мониторе активных пользователей колонка Блокировки показывает только факт блокировки, но не её объект. Чтобы увидеть детали:

  1. Откройте Монитор производительности.
  2. Перейдите в раздел Блокировки.
  3. Найдите сеанс пользователя и посмотрите колонку Объект блокировки (там может быть указан документ, справочник или регистр).

В файловом варианте такой детализации нет — придётся связаться с пользователем и уточнить, какой документ он редактирует.

Почему в SQL-запросе видно пользователей, которых нет в мониторе 1С?

Это происходит потому, что:

  • SQL показывает все подключения к базе данных, включая фоновые процессы (например, регламентные задания).
  • Монитор 1С отображает только интерактивные сеансы (реальных пользователей).
  • Могут быть "сиротские" подключения — когда пользователь вышел из 1С, но сеанс в СУБД ещё не закрылся.

Чтобы отфильтровать лишние записи, добавьте в SQL-запрос условие по времени последнего запроса (например, WHERE s.last_request_start_time > DATEADD(HOUR, -1, GETDATE())).

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

В 1С 8.3 ЗУП нет встроенного механизма ограничения по количеству пользователей, но вы можете:

  • 🔹 Настроить лицензирование (например, купить лицензии только на нужное количество рабочих мест).
  • 🔹 Использовать регламентные задания, которые будут проверять количество сеансов и уведомлять администратора при превышении лимита.
  • 🔹 В клиент-серверном варианте ограничить количество подключений на уровне СУБД (например, в MS SQL Server через MAX_CONNECTIONS).

⚠️ Ограничение на уровне СУБД может привести к ошибкам в работе 1С, если не учтены фоновые процессы (регламентные задания, обмены данными).

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

В 1С:Fresh доступ к инструментам администрирования ограничен. Вы можете:

  • 🔹 Использовать веб-интерфейс 1С:Fresh — в некоторых тарифах есть раздел Администрирование → Пользователи, где отображаются активные сеансы.
  • 🔹 Обратиться в техническую поддержку 1С с запросом о предоставлении отчёта по активным пользователям.
  • 🔹 Настроить интеграцию с внешними системами мониторинга через API (если это разрешено вашим тарифом).

Учтите, что в облачной версии нет доступа к SQL-запросам и конфигуратору, поэтому стандартные методы не работают.