Администрирование · 11 мин
Как посмотреть количество занятых лицензий 1С
Описание как посмотреть занятые лицензии 1С через консоль кластера, список активных пользователей и сервер лицензирования. Способы проверки и типичные ошибки.
Контроль занятых лицензий 1С нужен, когда пользователи получают ошибку «не найдено свободной лицензии», при планировании закупки новых ключей или при аудите использования программных продуктов. Способ проверки зависит от того, как развёрнута система: файловая база с локальными ключами, сервер 1С:Предприятия с кластером или раздача лицензий через сервер лицензирования.
Занятая лицензия — это сеанс или соединение, которое «съело» одну лицензию из общего пула. Важно понимать: один пользователь может занимать несколько лицензий, если запустил несколько сеансов, работает через тонкий клиент и веб-клиент одновременно или у него остались «зависшие» сеансы после аварийного завершения работы.
Ниже разобраны основные способы посмотреть количество занятых лицензий: через консоль кластера серверов, через список активных пользователей в конфигураторе, программно из встроенного языка и через журналы сервера лицензирования. Также описаны ситуации, когда цифры не сходятся, и как найти «пожирателей» лицензий.
Как устроен учёт лицензий в 1С
Перед проверкой полезно понимать, что именно вы считаете. Программные лицензии 1С (файлы с расширением .lic) и аппаратные ключи HASP расходуются по-разному в зависимости от архитектуры. В клиент-серверном варианте лицензии обычно раздаёт сервер 1С:Предприятия (если в свойствах базы включена соответствующая настройка), и каждый сеанс занимает одну клиентскую лицензию.
В файловом варианте лицензия занимается при запуске клиентского приложения на компьютере пользователя. Если ключ локальный (вставлен в конкретный ПК), он виден только этой машине. Если ключ сетевой и раздаётся менеджером лицензий HASP, его видят все компьютеры в сети, и подсчёт занятых лицензий ведётся через утилиту мониторинга ключа.
Отдельный случай — многопользовательские программные лицензии, активированные на сервере лицензирования. Тогда сериал номера и пин-коды «лежат» на сервере, и подсчёт ведётся централизованно: сколько сеансов запущено, столько лицензий из файла .lic занято.
Просмотр занятых лицензий через консоль кластера серверов
Основной инструмент администратора клиент-серверной 1С — консоль управления кластером (оснастка «Администрирование серверов 1С:Предприятия» или веб-консоль RAS). Откройте консоль, разверните нужный кластер, затем ветку «Сеансы». В списке отобразятся все активные сеансы с указанием пользователя, приложения (тонкий клиент, толстый клиент, веб-клиент, фоновое задание), времени начала и компьютера.
Количество строк в списке сеансов и есть ориентировочное число занятых клиентских лицензий. Обратите внимание на колонку «Приложение»: фоновые задания и соединения веб-сервисов тоже могут занимать лицензии в зависимости от настроек и версии платформы, поэтому не все строки — это «живые» пользователи.
- 1Откройте оснастку «Администрирование серверов 1С:Предприятия» на машине, где установлен сервер 1С
- 2Разверните ветку кластера и выберите «Сеансы» внутри нужной информационной базы
- 3Посчитайте количество строк — это занятые сеансы; отфильтруйте служебные при необходимости
- 4Откройте ветку «Соединения», чтобы увидеть технические соединения с рабочими процессами
- 5Сравните число сеансов с размером приобретённого пула лицензий
Дополнительно в свойствах информационной базы в консоли проверьте параметр раздачи лицензий сервером. Если флаг «Выдавать лицензии сервером 1С:Предприятия» включён, сервер централизованно считает выданные лицензии, и картина по сеансам будет точной. Если лицензии ищутся клиентами самостоятельно (локальные ключи на каждом ПК), консоль покажет сеансы, но не факт занятости конкретных ключей.
Просмотр активных пользователей в конфигураторе
Для файловых баз и быстрой оценки без доступа к серверу используйте встроенный механизм: в конфигураторе откройте меню «Администрирование» → «Активные пользователи». Появится список текущих подключений с именами пользователей, компьютерами, режимами запуска и временем начала работы.
Этот способ показывает пользователей конкретной базы, а не всю лицензионную картину организации. Если у вас несколько баз и один сетевой ключ, сумма активных пользователей по всем базам и будет количеством занятых лицензий. Учтите, что список обновляется вручную — нажмите кнопку обновления перед подсчётом.
В типовых конфигурациях есть похожий механизм в пользовательском режиме: раздел «Администрирование» → «Обслуживание» → «Активные пользователи» (название может отличаться в зависимости от конфигурации). Он удобен тем, что не требует прав на запуск конфигуратора.
Мониторинг аппаратных ключей HASP
Если лицензии раздаются аппаратными ключами HASP, занятость смотрят через менеджер лицензий (HASP License Manager) или веб-интерфейс Admin Control Center. Откройте в браузере адрес машины с ключом, обычно это порт 1947: http://имя-сервера:1947. В разделе со списком ключей видно, сколько лицензий всего на ключе и сколько занято в данный момент, а также с каких компьютеров установлены подключения.
Этот способ незаменим, когда несколько разных программ (не только 1С) используют ключи одного типа или когда ключи разных серий стоят на разных серверах в сети. Мониторинг показывает реальную загрузку ключа независимо от того, какие базы открыты у пользователей.
Программный способ: получить число сеансов из кода
Для регулярного мониторинга удобно получать данные программно. В клиент-серверном варианте через административное соединение (COM-коннектор или RAS) можно получить список сеансов кластера. Внутри самой базы доступен метод получения сеансов текущей информационной базы:
МассивСеансов = ПолучитьСеансыИнформационнойБазы();
КоличествоСеансов = МассивСеансов.Количество();
Функция ПолучитьСеансыИнформационнойБазы() возвращает массив объектов с данными о каждом сеансе: пользователь, приложение, время начала, номер сеанса. На её основе несложно сделать регламентное задание, которое пишет статистику в регистр, или простой отчёт «Кто сейчас в базе». Для выполнения требуются административные права.
МассивСеансов = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из МассивСеансов Цикл
Сообщить(Строка(Сеанс.ИмяПользователя) + " | " + Сеанс.ИмяПриложения);
КонецЦикла;Почему цифры не сходятся: зависшие сеансы и подсчёт
Самая частая жалоба — «лицензий куплено больше, чем сотрудников, а свободных нет». Причины почти всегда одинаковые. Первая — зависшие сеансы: пользователь закрыл клиент аварийно, выключил компьютер кнопкой или потерял сеть, а сеанс на сервере остался и удерживает лицензию до истечения тайм-аута (по умолчанию это может занимать заметное время, параметры задаются в свойствах информационной базы).
Вторая причина — множественные сеансы одного пользователя: открыт тонкий клиент на рабочем месте, веб-клиент дома и ещё один сеанс остался на терминальном сервере. Третья — фоновые задания, соединения веб-сервисов и внешних систем, которые в ряде конфигураций занимают лицензии. Четвёртая — несколько баз на одном сервере: лицензия занимается на каждый сеанс в каждой базе.
Что делать при нехватке лицензий
Если проверка показала, что пул исчерпан, сначала убедитесь, что проблема реальна, а не вызвана зависшими сеансами. В консоли кластера завершите неактивные сеансы вручную: выделите сеанс и выберите «Удалить». Пользователь при этом получит сообщение о разрыве, поэтому предупреждайте сотрудников или завершайте только явно «мёртвые» сеансы (давно без активности, с выключенных компьютеров).
Настройте в свойствах информационной базы тайм-ауты завершения неактивных сеансов: параметры «интервал перезапуска» и «допустимый объём памяти» относятся к рабочим процессам, а за аварийное завершение неактивных сеансов отвечают настройки времени ожидания. Разумный тайм-аут освобождает лицензии без ручного вмешательства.
Если зависших сеансов нет, а лицензий не хватает стабильно — это сигнал докупить клиентские лицензии. Рассчитайте пиковое число одновременных сеансов по статистике за несколько недель, добавьте запас на фоновые задания и интеграции, и закупайте с учётом этого пика, а не среднего значения.
Как проверить результат
Совпадает с реальным числом работающих пользователей плюс фоновые задания
Сеансов заметно больше, чем пользователей — ищите зависшие или дублирующиеся сеансы
Занято меньше или равно числу активных сеансов
Ключ показывает занятые лицензии при нуле сеансов — зависшие подключения держит менеджер лицензий
Не появляется при штатной нагрузке
Возникает регулярно — пул лицензий меньше пиковой нагрузки
Частые вопросы
Занимает ли фоновое задание клиентскую лицензию?
Зависит от того, как запущено задание и от настроек. Регламентные задания, выполняемые на сервере в рамках служебного сеанса, как правило, клиентскую лицензию не занимают. А вот фоновое задание, запущенное из клиентского сеанса, работает в рамках уже занятой лицензии. Точную картину по конкретной базе покажет список сеансов в консоли кластера с типом приложения «Фоновое задание».
Почему после выключения компьютера пользователя лицензия остаётся занятой?
Сервер не сразу узнаёт об обрыве связи. Сеанс считается активным, пока не истечёт тайм-аут или пока TCP-соединение не будет разорвано на уровне операционной системы. Обычно лицензия освобождается автоматически через некоторое время; ускорить можно ручным удалением сеанса в консоли кластера.
Как посмотреть, сколько всего лицензий куплено?
Для аппаратных ключей — в Admin Control Center виден номинал ключа. Для программных лицензий количество определяется активированным файлом .lic: однопользовательская лицензия даёт один сеанс, многопользовательская — указанное в ней число. Документарно количество подтверждается регистрационной анкетой и договором при покупке.
Можно ли посмотреть занятые лицензии без прав администратора?
Полноценно — нет. Список активных пользователей в конфигураторе и консоль кластера требуют административных прав. В пользовательском режиме типовых конфигураций отчёт по активным пользователям доступен роли с правами администрирования. Обычный пользователь может видеть только факт ошибки «не найдено свободной лицензии».
Один пользователь в двух базах — сколько лицензий занято?
Две. Лицензия расходуется на каждый сеанс в каждой информационной базе. Если сотрудник одновременно работает в бухгалтерии и в зарплатной базе, он занимает две клиентские лицензии. Это нужно учитывать при расчёте необходимого пула.
Чем отличается лицензия на сервер от клиентских лицензий?
Лицензия на сервер 1С:Предприятия разрешает запуск самого сервера и приобретается одна на сервер (с учётом разрядности и уровня). Клиентские лицензии разрешают подключения пользователей и считаются по сеансам. Это независимые продукты: наличие серверной лицензии не даёт ни одной клиентской.
Что важно запомнить
Занятые лицензии считаются по сеансам, а не по сотрудникам. Основные инструменты проверки: ветка «Сеансы» в консоли кластера, список активных пользователей в конфигураторе и Admin Control Center для аппаратных ключей. Если лицензий не хватает — сначала ищите зависшие и дублирующиеся сеансы и только потом планируйте докупку.