Определение количества пользователей в 1С:Предприятие — критически важная задача для администраторов, бухгалтеров и руководителей. От этого зависит корректность лицензирования, планирование нагрузки на сервер и даже бюджет компании. Однако в разных версиях платформы (8.2, 8.3) и конфигурациях (Бухгалтерия, УТ 11, ЗУП 3.1) способы получения этой информации различаются. Где-то данные скрыты в журналах, где-то требуют SQL-запросов, а иногда достаточно взглянуть в лицензионное соглашение.
В этой статье мы разберём 5 проверенных методов — от простых (через интерфейс программы) до сложных (анализ базы данных). Вы узнаете, как отличить активных пользователей от зарегистрированных, почему данные в лицензии и фактическое использование могут расходиться, и как автоматизировать сбор статистики. А в конце — ответы на частые вопросы, включая нюансы облачных версий 1С:Fresh.
1. Просмотр через журнал регистрации 1С
Самый универсальный способ — анализ журнала регистрации. Он фиксирует все подключения к базе, включая время входа/выхода, имя пользователя и даже IP-адрес. Этот метод работает для любых конфигураций на платформе 8.3, но требует прав администратора.
Чтобы открыть журнал:
- 📌 Запустите 1С:Предприятие в режиме
Конфигуратор. - 🔍 Перейдите в меню
Администрирование → Журнал регистрации. - 📅 Установите период (например, последний месяц) и нажмите
Заполнить. - 🔎 Отфильтруйте события по типу
Начало сеанса.
В результате вы получите список всех уникальных пользователей, которые входили в систему за выбранный период. Обратите внимание: журнал показывает фактическое использование, а не лицензионные ограничения. Если у вас 10 лицензий, но в журнале 15 разных логинов — это повод проверить настройки доступа.
Экспортируйте журнал в Excel через кнопку Сохранить как... — так удобнее анализировать данные по датам и пользователям.
2. Использование встроенного отчёта «Активные пользователи»
В некоторых конфигурациях (например, 1С:Управление торговлей 11 или ERP 2.5) есть готовый отчёт, который показывает текущие подключения. Его преимущество — оперативность: вы видите, кто сейчас работает в системе, а не исторические данные.
Как найти отчёт:
- 📊 В пользовательском режиме откройте раздел
Администрирование(илиНастройки и администрирование). - 🔍 Выберите пункт
Активные пользователиилиМонитор активности. - 📋 В отчёте отобразятся: имя пользователя, время начала сеанса, блокировки и даже выполняемые операции (если включен расширенный режим).
Этот метод не покажет полный список зарегистрированных пользователей, но поможет выявить пиковые нагрузки. Например, если в отчёте постоянно висит 20 подключений из 25 лицензий, пора думать об апгрейде сервера.
3. Анализ лицензионного соглашения и файла 1cv8.lic
Лицензионный файл 1cv8.lic содержит информацию о максимальном количестве пользователей, разрешённых для вашей версии 1С. Однако здесь есть нюанс: файл показывает лимит, а не фактическое использование. Например, у вас может быть лицензия на 50 пользователей, но реально работать только 10.
Где найти файл лицензии:
- 💻 На сервере 1С:Предприятия (если используется серверный вариант) по пути:
C:\Program Files (x86)\1cv8\conf\licenses\1cv8.lic
C:\Program Files\1cv8\conf\licenses\1cv8.lic
Чтобы прочитать файл:
- Откройте его в блокноте или специализированной утилите (например, 1C License Viewer).
- Найдите строку
Users=— это и есть максимальное количество пользователей. - Для клиент-серверного варианта проверьте также параметр
Sessions=(олицетворяет количество одновременно работающих сессий).
Что делать, если файл лицензии повреждён?
Если при открытии 1cv8.lic вы видите иероглифы или ошибки, восстановите его из резервной копии или запросите новый файл у партнёра 1С. Работа с повреждённой лицензией может привести к блокировке базы!
Важно: с версии 8.3.20 формат лицензионных файлов изменился — теперь они могут быть зашифрованы. В этом случае для просмотра потребуется утилита от 1С или обращение в поддержку.
4. SQL-запрос к базе данных (для клиент-серверного варианта)
Если ваша 1С работает на Microsoft SQL Server или PostgreSQL, можно напрямую запросить список пользователей из системных таблиц. Этот метод даёт самую точную информацию, но требует знаний SQL и прав доступа к СУБД.
Пример запроса для MS SQL (показывает активные сессии):
SELECT
host_name AS [Компьютер],
program_name AS [Приложение],
login_name AS [Пользователь SQL],
last_request_start_time AS [Последняя активность]
FROM sys.dm_exec_sessions
WHERE program_name LIKE '%1cv8%'
ORDER BY last_request_start_time DESC;
Для PostgreSQL (показывает блокировки и активные транзакции):
SELECT
usename AS пользователь,
application_name AS приложение,
client_addr AS ip_клиента,
state AS состояние
FROM pg_stat_activity
WHERE application_name LIKE '%1C%';
Чтобы получить список всех зарегистрированных пользователей 1С (не только активных), используйте запрос к таблице v8users:
SELECT * FROM v8users;
Убедитесь, что у вас есть права на чтение системных таблиц
Сделайте резервную копию базы перед экспериментами
Используйте WHERE для фильтрации данных по дате или пользователю
Не запускайте запросы в пиковое время (риск тормозов)
-->
⚠️ Внимание: Некоторые конфигурации (например, 1С:ERP) хранят пользователей в собственных таблицах (например, _Users). Уточните структуру базы в документации вашей конфигурации.
5. Скрипты на встроенном языке 1С (для автоматизации)
Если вам нужно регулярно собирать статистику (например, ежемесячно), напишите скрипт на встроенном языке. Он может экспортировать данные в Excel или отправлять отчёт на почту. Пример кода для получения списка пользователей:
Процедура ПолучитьСписокПользователей()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Наименование КАК Пользователь,
| Пользователи.ПолноеИмя КАК ФИО,
| Пользователи.Активен КАК Статус
|ИЗ
| Справочник.Пользователи КАК Пользователи";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Пользователь + " | " + Выборка.ФИО + " | " + ?(Выборка.Статус, "Активен", "Заблокирован"));
КонецЦикла;
КонецПроцедуры
Для автоматизации:
- 📅 Добавьте вызов этой процедуры в
Регламентные задания. - 📊 Настройте экспорт результата в
ТабличныйДокументи сохранение в файл. - 📧 Используйте
Почта.Отправить()для рассылки отчётов.
Такой подход избавляет от рутинного сбора данных и позволяет отслеживать динамику использования 1С в компании.
Скрипты на встроенном языке — единственный способ получить данные о пользователях в облачных версиях 1С (например, 1С:Fresh), где нет доступа к SQL или файловой системе.
Сравнение методов: какой выбрать?
Каждый способ имеет свои плюсы и минусы. В таблице ниже — сравнение по ключевым параметрам:
| Метод | Точность | Сложность | Актуальность данных | Подходит для |
|---|---|---|---|---|
| Журнал регистрации | Высокая | Низкая | Исторические данные | Все конфигурации |
| Отчёт «Активные пользователи» | Средняя | Низкая | Текущий момент | УТ, ERP, ЗУП |
| Лицензионный файл | Низкая (только лимит) | Низкая | Постоянная | Все варианты |
| SQL-запрос | Максимальная | Высокая | Текущий момент или история | Клиент-сервер |
| Скрипты 1С | Высокая | Средняя | Любой период | Все конфигурации |
Для разового контроля подойдёт журнал регистрации или встроенный отчёт. Если нужно автоматизировать сбор данных — пишите скрипты. Для аудита лицензий проверяйте 1cv8.lic. А для глубокого анализа нагрузки на сервер используйте SQL.
⚠️ Внимание: В облачных версиях 1С:Fresh и 1С:Линк доступ к SQL и файловой системе ограничен. Используйте только встроенные отчёты или скрипты.
Частые ошибки и как их избежать
При определении количества пользователей администраторы часто сталкиваются с типичными проблемами:
- Расхождение между лицензиями и фактическим использованием. Например, лицензия на 30 пользователей, а работает 40. Это возможно, если используются сетевые или аппаратные ключи с другим лимитом. Проверьте настройки кластера серверов 1С.
- Неучтённые сервисные пользователи. В базе могут быть технические учётки (например,
АдминистраторилиРегламентныеЗадания), которые не отображаются в отчётах. Исключайте их из статистики. - Ошибки в журнале регистрации. Если журнал не ведётся или очищается автоматически, данные будут неполными. Настройте параметры хранения в
Конфигураторе → Администрирование → Настройки журнала регистрации.
Чтобы избежать ошибок:
- 🔄 Регулярно сверяйте данные из разных источников (журнал + SQL + лицензии).
- 📌 Документируйте все изменения в списке пользователей (уволенные сотрудники, новые учётки).
- 🔒 Ограничивайте права доступа к конфигуратору и лицензионным файлам.
FAQ: Ответы на популярные вопросы
Можно ли узнать количество пользователей без прав администратора?
Да, но с ограничениями. В пользовательском режиме вы можете увидеть только активные сессии через отчёт «Активные пользователи» (если он есть в вашей конфигурации). Для получения полного списка или исторических данных нужны права администратора.
Почему в журнале регистрации больше пользователей, чем в лицензии?
Это нормально, если:
- Используются динамические лицензии (количество пользователей не фиксировано).
- В системе есть гостевые или временные учётки (например, для аудиторов).
- Лицензия аппаратная (ключ HASP), и реальный лимит выше, чем указано в файле
1cv8.lic.
Проверьте настройки кластера серверов 1С или обратитесь к партнёру за уточнением лицензионной политики.
Как узнать количество пользователей в 1С:Fresh?
В облачной версии 1С:Fresh:
- Откройте личный кабинет на сайте
fresh.1c.ru. - Перейдите в раздел
Мои сервисы → [Ваша база]. - В блоке
Лицензиибудет указано максимальное количество пользователей и текущее использование.
Для детальной статистики используйте встроенные отчёты в самой базе (раздел Администрирование).
Что делать, если количество пользователей превышает лимит лицензии?
Варианты решений:
- 💰 Купить дополнительные лицензии у партнёра 1С.
- 🔄 Оптимизировать использование: например, запретить одновременный вход с нескольких устройств для одного пользователя.
- ⏳ Перейти на динамическое лицензирование (если поддерживается вашей конфигурацией).
- 📉 Архивировать неактивных пользователей (через справочник
Пользователи).
Если превышение критичное, база может заблокироваться. В этом случае свяжитесь с поддержкой 1С для разблокировки.
Можно ли отследить, какие именно действия выполняют пользователи?
Да, для этого:
- Включите расширенный журнал регистрации в конфигураторе (
Администрирование → Настройки журнала регистрации → Уровень детализации → Максимальный). - Используйте SQL-запросы к таблицам
v8logилиEventLog(структура зависит от СУБД). - Настройте аудит в конфигурациях типа ERP или УТ 11 (раздел
Администрирование → Настройки безопасности).
Учтите, что детальный журнал увеличивает нагрузку на базу и занимает много места на диске.