Работа с базой 1С:Предприятие часто требует контроля за активными подключениями — будь то диагностика зависших сессий, проверка нагрузки на сервер или разрешение конфликтов блокировок. Без возможности оперативно увидеть, кто именно работает в системе, администраторы рискуют столкнуться с замедлением производительности, ошибками при обновлении или даже потерей данных. В этой статье разберём все доступные способы просмотра активных пользователей в 1С 8.3 и 8.2, включая скрытые методы для файлового и клиент-серверного вариантов работы.
Особое внимание уделим ситуациям, когда стандартные инструменты не помогают — например, при зависании сеанса или отсутствии прав на просмотр через конфигуратор. Также вы узнаете, как отличить реально работающего пользователя от"зомби"-сессии, которая блокирует объекты базы, и что делать, если список пользователей не обновляется. Все методы протестированы на актуальных релизах платформы 1С (включая 8.3.23), но некоторые приёмы работают и в устаревших версиях.
1. Стандартный просмотр через «Администрирование» в 1С
Самый очевидный способ — использовать встроенное окно администрирования базы. Оно доступно в большинстве конфигураций (например, 1С:Бухгалтерия, 1С:УТ, 1С:ЗУП) и не требует дополнительных прав, кроме роли «Администратор». Чтобы открыть список активных пользователей:
- Запустите 1С:Предприятие в режиме
1С:Предприятие(не конфигуратор!). - Перейдите в меню
Файл → Администрирование → Пользователи(в некоторых конфигурациях путь может отличаться:Сервис → Администрирование). - В открывшемся окне вы увидите таблицу с колонками: Пользователь, Компьютер, Время начала сеанса и Блокировки.
Здесь отображаются только текущие активные сессии, но не все конфигурации показывают полную информацию. Например, в 1С:БП 3.0 может отсутствовать колонка с блокировками, а в 1С:Розница — данные о времени бездействия пользователя. Чтобы увидеть расширенные сведения, иногда требуется переключиться в режим конфигуратора.
Если окно «Администрирование» не открывается, проверьте, не отключены ли соответствующие права в ролях пользователя. Для этого зайдите в Администрирование → Настройка прав доступа и убедитесь, что у вашей роли есть галочка «Просмотр активных пользователей».
2. Просмотр через Конфигуратор (для администраторов)
Конфигуратор предоставляет более детальную информацию об активных сеансах, включая скрытые системные подключения. Этот метод подходит для файлового и клиент-серверного вариантов работы. Инструкция:
- Запустите 1С:Предприятие в режиме
Конфигуратор(выберите нужную базу и удерживайтеShiftпри запуске). - Перейдите в меню
Администрирование → Активные пользователи. - В открывшемся окне вы увидите список всех подключённых сессий с указанием:
- 👤 Имя пользователя (логин в 1С);
- 🖥️ Компьютер (имя или IP-адрес рабочей станции);
- ⏱️ Время начала сеанса;
- 🔒 Блокировки (если пользователь заблокировал объекты).
В клиент-серверном варианте здесь также отображаются фоновые задания (например, регламентные операции), которые могут создавать нагрузку на сервер. Чтобы принудительно завершить сеанс, выделите пользователя и нажмите Завершить. Будьте осторожны: это может привести к потере несохранённых данных у пользователя!
Выбран ли правильный пользователь?|Есть ли у него несохранённые документы?|Не является ли сеанс системным (например, регламентное задание)|Предупреждён ли пользователь о принудительном отключении
-->
3. Использование Монитора сервера 1С (для клиент-серверного варианта)
Если база работает в клиент-серверном режиме (на платформе 1С:Предприятие 8.3 с сервером 1С:Предприятие), самым надёжным инструментом является Монитор сервера. Он показывает не только активных пользователей, но и загрузку кластера, память, блокировки и даже SQL-запросы. Как им пользоваться:
- Откройте
Пуск → 1С Предприятие 8.3 → Администрирование серверов 1С:Предприятия. - В окне Администрирование серверов выберите нужный кластер и нажмите
Монитор сервера. - Перейдите на вкладку
Сеансы— здесь отображаются все активные подключения с детализацией по:- 📊 Идентификатор сеанса (пригодится для принудительного отключения);
- 🔄 Состояние (например, «Выполняется», «Ожидание»);
- 📈 Использование памяти;
- 🔗 Блокировки (с указанием конкретных объектов базы).
Преимущество этого метода — возможность увидеть скрытые сессии, которые не отображаются в конфигураторе (например, подключения через COM-соединение или веб-сервисы). Также здесь можно отсортировать пользователей по времени бездействия и выявить «зависшие» сеансы.
| Метод просмотра | Файловый вариант | Клиент-серверный | Требуются права администратора | Показывает блокировки |
|---|---|---|---|---|
| Администрирование в 1С:Предприятие | ✅ Да | ✅ Да | ❌ Нет (достаточно роли с правами) | ⚠️ Частично |
| Конфигуратор | ✅ Да | ✅ Да | ✅ Да | ✅ Полностью |
| Монитор сервера | ❌ Нет | ✅ Да | ✅ Да | ✅ Полностью + SQL-запросы |
| Запрос к системным таблицам | ❌ Нет | ✅ Да | ✅ Да (прав на SQL-сервер) | ✅ Да |
4. Просмотр активных пользователей через SQL-запрос (для опытных)
Если у вас есть доступ к SQL-серверу (например, Microsoft SQL Server или PostgreSQL), можно получить список активных сессий напрямую из системных таблиц 1С. Этот метод полезен, когда стандартные инструменты не работают (например, при сбое кластера).
Для Microsoft SQL Server выполните следующий запрос:
SELECT
HOST_NAME AS [Компьютер],
PROGRAM_NAME AS [Приложение],
LOGIN_NAME AS [Пользователь SQL],
START_TIME AS [Время начала],
STATUS AS [Статус],
CPU_TIME AS [Время CPU],
MEMUSAGE AS [Память, КБ]
FROM
master.dbo.sysprocesses
WHERE
db_name(dbid) ='ИмяВашейБазы1С' -- замените на реальное имя базы
AND program_name LIKE'%1C%'
ORDER BY
START_TIME DESC
Для PostgreSQL используйте:
SELECT
usename AS пользователь,
application_name AS приложение,
client_addr AS ip_клиента,
query_start AS время_начала,
state AS состояние
FROM
pg_stat_activity
WHERE
datname ='ИмяВашейБазы1С' -- замените на реальное имя
AND application_name LIKE'%1C%'
ORDER BY
query_start DESC;
Как найти имя базы 1С в SQL-сервере?
Имя базы 1С в SQL обычно соответствует имени информационной базы в конфигураторе, но может отличаться. Чтобы его узнать:
1. Откройте конфигуратор.
2. Перейдите в Администрирование → Информационные базы.
3. В списке найдите вашу базу — в колонке «Имя» будет отображено имя, используемое в SQL.
⚠️ Внимание: Не завершайте сессии напрямую через SQL-команды (например, KILL), если не уверены в последствиях! Это может привести к повреждению данных в базе 1С. Лучше использовать штатные средства конфигуратора или монитора сервера.
5. Альтернативные способы: лог-файлы и внешние утилиты
В редких случаях (например, при сбое сервера или отсутствии доступа к конфигуратору) можно воспользоваться логами 1С или сторонними утилитами. Эти методы требуют технических навыков, но иногда становятся единственным решением.
Способ 1: Лог-файлы технологического журнала
Если на сервере включён технологический журнал, в нём фиксируются все подключения пользователей. Путь к логам обычно указывается в файле конфигурации кластера 1cv8conf.cfg (параметр TechLogPath). Ищите записи с событиями:
- 🔹
UI: Старт сеанса— начало работы пользователя; - 🔹
UI: Завершение сеанса— выход из системы; - 🔹
DB: Блокировка— информация о заблокированных объектах.
Способ 2: Утилита 1C:Enterprise Development Tools
Для разработчиков доступна утилита 1C:EDT, которая позволяет анализировать активные сессии через отладчик. Чтобы ею воспользоваться:
- Установите 1C:EDT (доступна на портале 1С:ИТС).
- Подключитесь к базе через
File → Open 1C:Enterprise Infobase. - Откройте вкладку
Debug → Active Sessions.
Этот метод полезен для диагностики зависших фоновых процессов, которые не видны в стандартных инструментах.
Лог-файлы и утилиты вроде 1C:EDT следует использовать только в крайних случаях, когда стандартные методы недоступны. Они требуют глубинных знаний архитектуры 1С и могут содержать конфиденциальную информацию (например, имена пользователей и IP-адреса).
6. Решение проблем: что делать, если пользователи не отображаются?
Иногда список активных пользователей пуст или не обновляется, хотя вы уверены, что в базе кто-то работает. Рассмотримные причины и способы их устранения:
⚠️ Внимание: Если вы используете 1С:Fresh (облачный сервис), часть методов (например, доступ к SQL или монитору сервера) будет недоступна. В этом случае обратитесь в поддержку 1С с запросом о проверке активных сессий.
| Проблема | Возможная причина | Решение |
|---|---|---|
| Список пользователей пуст, хотя база используется | Отсутствуют права на просмотр сессий | Проверьте роль пользователя в Администрирование → Пользователи |
| Пользователи отображаются, но не обновляются | Кэширование данных в конфигураторе | Закройте и заново откройте окно «Активные пользователи» |
| В Мониторе сервера нет вкладки «Сеансы» | Устаревшая версия платформы (до 8.3.10) | Обновите сервер 1С до актуальной версии |
| SQL-запрос возвращает пустой результат | Неверное имя базы в запросе | Уточните имя базы в конфигураторе или файле 1cv8conf.cfg |
Если ни один из методов не сработал, проверьте:
- 🔌 Сетевые подключения: возможно, пользователи работают через VPN или прокси, которые не отображаются в стандартных логах.
- 🛠️ Режимы совместимости: в старых конфигурациях (например, 1С:7.7) методы просмотра пользователей отличаются.
- 🔄 Обновления платформы: в версиях 1С 8.3.20+ добавлены новые инструменты диагностики, которых нет в старых релизах.
FAQ: Частые вопросы об активных пользователях в 1С
Могу ли я увидеть, какие именно документы открыты у пользователя?
В стандартных инструментах (конфигуратор, монитор сервера) эта информация не отображается. Однако можно использовать технологический журнал с уровнем детализации «Отладка» — в нём фиксируются открываемые объекты. Альтернатива: написать обработку на 1С:Предприятие, которая будет логировать действия пользователей.
Как завершить сеанс пользователя, если кнопка «Завершить» неактивна?
Это происходит, если у вашей учётной записи недостаточно прав. Попробуйте:
- Запустить конфигуратор от имени администратора Windows.
- Войти в 1С под пользователем с ролью «Полные права».
- Использовать Монитор сервера (там права проверяются на уровне кластера).
Если ничего не помогает, завершите процесс ragent.exe или rmngr.exe через Диспетчер задач Windows (но это приведёт к отключению всех пользователей!).
Почему в списке пользователей отображаются «зомби»-сессии?
«Зомби»-сессии возникают, когда пользователь неправильно вышел из 1С (например, через Завершить задачу в Диспетчере задач) или произошел сбой сети. Такие сессии могут блокировать объекты базы дни и даже недели. Чтобы их убрать:
- В Мониторе сервера найдите сессии со статусом «Ожидание» или «Не отвечает».
- Выделите их и нажмите
Завершить. - Если не помогает, перезапустите службу
Агент сервера 1С:Предприятия.
В файловом варианте «зомби» удаляются только после перезапуска 1Cv8.exe на всех рабочих станциях.
Можно ли ограничить количество одновременно работающих пользователей?
Да, это настраивается на уровне лицензий 1С или через конфигурацию:
- 🔑 Лицензионное ограничение: количество пользователей определяется купленной лицензией (например, 1С:Предприятие 8. Проф на 5 пользователей).
- ⚙️ Программное ограничение: в конфигураторе можно написать обработку, которая будет блокировать новых пользователей при превышении лимита (например, через событие
ПриНачалеРаботыСистемы).
В клиент-серверном варианте также можно настроить ограничения на уровне кластера в файле 1cv8conf.cfg (параметр MaxSessions).
Как проверить, не блокирует ли пользователь объекты базы?
Блокировки отображаются:
- В Конфигураторе (колонка «Блокировки» в окне «Активные пользователи»).
- В Мониторе сервера (вкладка «Блокировки»).
- Через SQL-запрос к системным таблицам (например,
SELECT * FROM v8locksдля MS SQL).
Если блокировка мешает работе, завершите сеанс пользователя или дождитесь автоматического снятия блокировки (обычно через 5–10 минут бездействия).