Сколько лицензий 1С куплено и сколько занято прямо сейчас
Содержание
Быстрее всего количество доступных лицензий 1С показывает команда rac session list --licenses на сервере 1С: в поле max-users-all видно, на сколько рабочих мест рассчитан ключ или программная лицензия, а число строк с лицензиями — сколько из них занято. В файловом варианте то же самое узнают через утилиту ring license list и монитор сетевого ключа HASP.
Проблема обычно всплывает в понедельник утром: десятый бухгалтер не может войти в базу, хотя «лицензий вроде хватало». Лимит и занятые места проверяются по-разному для клиента, сервера, программных лицензий и сетевого ключа, а нехватку можно ловить заранее скриптом по расписанию.
Где хранится информация о лицензиях 1С: карта способов
Сначала определите, какие у вас лицензии и откуда их получают пользователи. От этого зависит, где смотреть.
| Ситуация | Где смотреть количество | Что увидите |
|---|---|---|
| Клиент-серверная база, лицензии на сервере 1С | Консоль кластера, rac | Кто занял лицензию, тип, общий лимит |
| Программные лицензии на компьютере | Папка licenses, ring license | Какие лицензии активированы и на сколько мест |
| Сетевой аппаратный ключ HASP | Монитор License Manager | Сколько входов занято на ключе |
| Любой вариант, одно рабочее место | Окно «О программе» | Какую лицензию получил текущий сеанс |
| Нужна история выдачи | Технологический журнал, событие LIC | Когда и кому выдана или не выдана лицензия |
Есть два разных лимита. Клиентские лицензии ограничивают число рабочих мест. Лицензия сервера 1С ограничивает сам сервер. Здесь речь о клиентских — именно они заканчиваются у пользователей.
Лицензия считается на рабочее место: компьютер или терминальный сеанс. Если один пользователь открыл две копии 1С на одном компьютере, это одна лицензия, а не две.
Как проверить лицензию 1С в клиентском приложении
Этот способ показывает лицензию только своего сеанса. Общего лимита он не даст, зато быстро отвечает на вопрос «откуда эта рабочая станция берёт лицензию».
Окно «О программе»
- Запустите базу в режиме 1С:Предприятие.
- Откройте главное меню (кнопка с тремя полосками в левом верхнем углу) →
Справка → О программе. - Найдите строку о лицензии.
Там написано, какую лицензию получил сеанс: программную или с аппаратного ключа, и выдана ли она сервером 1С. Для программной лицензии виден регистрационный номер — по нему лицензию потом ищут в списке ring и в папке лицензий.
Кнопка «Информация для технической поддержки» в том же окне копирует сведения о платформе и лицензии в буфер. Удобно, когда разбираетесь с проблемой удалённо и нужен точный текст.
Список активных пользователей
Количество занятых мест в файловой базе проще всего прикинуть по активным сеансам:
- в Конфигураторе: меню
Администрирование → Активные пользователи; - в типовых конфигурациях на БСП — обработка «Активные пользователи» в разделе «Администрирование».
Список показывает компьютеры и приложения. Сеансы фоновых заданий и COM-соединений лицензию клиента не занимают, поэтому считайте строки с клиентскими приложениями и уникальными компьютерами.
Количество лицензий в консоли администрирования серверов 1С
В клиент-серверном варианте лицензии часто выдаёт сам сервер 1С. Это включается в свойствах информационной базы в консоли: параметр «Выдача лицензий сервером 1С:Предприятия». Если стоит «Да», клиенты берут лицензию у сервера, а не у себя на компьютере.
Через оснастку
- Откройте «Администрирование серверов 1С Предприятия».
- Раскройте
Центральные серверы 1С:Предприятия 8.3 → <сервер> → Кластеры → <кластер>. - Перейдите в узел «Сеансы».
В списке сеансов у каждого клиента видно, получил ли он лицензию и какую. Отсюда же удобно найти «зависшие» сеансы, которые держат лицензию после закрытия программы.
Лицензии, которые сейчас удерживает каждый рабочий процесс, видны в узле «Рабочие процессы» при раскрытии конкретного процесса.
Удаление сеанса из консоли обрывает работу пользователя без сохранения. Сначала убедитесь, что за компьютером никого нет, или предупредите человека.
Через rac: точный лимит ключа
Консоль не всегда показывает общий лимит наглядно. Утилита командной строки rac выводит его прямо. Ей нужен запущенный сервер администрирования ras (по умолчанию порт 1545).
rem Узнать идентификатор кластера
rac localhost:1545 cluster list
rem Сеансы с подробностями о лицензиях
rac localhost:1545 session list --cluster=<id_кластера> --licenses
Если для кластера задан администратор, добавьте --cluster-user=<имя> --cluster-pwd=<пароль>.
В выводе ищите поля:
- 🔢
max-users-all— на сколько рабочих мест рассчитана лицензия или ключ; - 📌
max-users-cur— текущее значение счётчика по этой лицензии; - 🏷️
license-type— программная или аппаратная (HASP); - 🖥️
issued-by-server— выдана ли лицензия сервером; - 🔑
seriesиshort-presentation— серия и краткое описание ключа.
Похожий вывод даёт rac process list --cluster=<id_кластера> --licenses — лицензии в разрезе рабочих процессов. Полный перечень параметров вашей версии смотрите в rac help session и rac help process.
Программные лицензии: папка licenses и утилита ring
Программная лицензия — это файл с расширением .lic, который появляется после активации пин-кода. Один файл соответствует одной активированной лицензии.
Где лежат файлы
| Система | Каталог для всех пользователей |
|---|---|
| Windows | C:\ProgramData\1C\licenses |
| Linux | /var/1C/licenses |
Лицензия может быть активирована и в профиле конкретного пользователя Windows, тогда она видна только ему. Проверьте также каталог 1C\licenses внутри %APPDATA% нужной учётной записи.
Число файлов показывает, сколько лицензий активировано, но не их ёмкость. Пин-код на 10 рабочих мест — один файл. Внутри файл не предназначен для чтения, редактировать его нельзя: лицензия перестанет проходить проверку.
Утилита ring license
Содержимое лицензий читает утилита ring из пакета «1C:Enterprise License Tools». Она ставится отдельно от платформы и требует Java.
rem Список активированных лицензий на компьютере
ring license list
rem Подробности по одной лицензии: продукт, количество мест, привязка
ring license info --name <имя_лицензии_из_списка>
rem Проверить, проходит ли лицензия проверку на этом оборудовании
ring license validate --name <имя_лицензии_из_списка>
Имя для --name берите из вывода list. В описании лицензии указан продукт: клиентская лицензия на N рабочих мест или лицензия сервера.
Сумма мест по всем клиентским лицензиям в каталоге — и есть ваш лимит на этом компьютере. Если лицензии лежат на сервере 1С с включённой выдачей, считайте по серверу, а не по рабочим станциям.
Не переносите файлы .lic между компьютерами вручную. Лицензия привязана к параметрам оборудования и на другой машине работать не будет. Для переноса нужна повторная активация резервным пин-кодом.
Сетевой ключ HASP: сколько пользователей он держит
С аппаратными ключами два вопроса: на сколько мест ключ и сколько из них занято.
Ёмкость ключа
Ёмкость написана на самом ключе и в документах поставки: маркировка вида NET5, NET10, NET20 означает сетевой ключ на 5, 10 и 20 рабочих мест. Локальный однопользовательский ключ рассчитан на один компьютер, к которому подключён.
Ещё один способ — rac session list --licenses: для аппаратной лицензии поле max-users-all покажет ёмкость ключа, который нашёл сервер.
Занятые места
Сетевой ключ обслуживает HASP License Manager — служба на компьютере, куда воткнут ключ. Занятые входы показывает утилита Aladdin Monitor: укажите в ней адрес компьютера с License Manager и раскройте ключ. Видно, сколько входов занято и с каких адресов.
Клиенты находят License Manager по настройкам в файле nethasp.ini из каталога conf платформы. Если в сети несколько ключей, явно укажите адрес нужного сервера:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Отключение широковещательного поиска ускоряет запуск и убирает путаницу, когда клиент «видит» чужой ключ в соседнем сегменте сети.
Перезапуск службы License Manager освобождает все входы ключа. Пользователи, работающие на лицензиях этого ключа, потеряют лицензию. Делайте это вне рабочего времени.
Журналы выдачи лицензий: технологический журнал
Когда лицензий «то хватает, то нет», нужна история: кто и когда взял место. Её пишет технологический журнал, событие LIC.
Создайте файл logcfg.xml в каталоге conf платформы на сервере 1С или на клиенте:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\1C_techlog\lic" history="24">
<event>
<eq property="name" value="LIC"/>
</event>
<property name="all"/>
</log>
</config>
Платформа подхватывает настройку без перезапуска, обычно в течение минуты. Логи складываются в указанный каталог по часам; history="24" хранит сутки.
Что искать в логах:
- Записи о получении лицензии — компьютер, пользователь, тип лицензии.
- Записи о неудачных попытках — в момент, когда пользователь получил отказ.
- Время пиков: если отказы идут в 9:00–9:30, проблема в одновременном входе, а не в общем числе сотрудников.
Отключите журнал, когда соберёте данные: удалите logcfg.xml или блок <log>. Иначе каталог продолжит расти.
rac session list --licenses на сервере 1С: max-users-all даёт лимит, список сеансов — занятые места.ring license list и ring license info на рабочей станции; лимит — сумма мест в её лицензиях.ring; занято столько, сколько терминальных сеансов с запущенной 1С.Лицензии 1С в терминальном режиме и RemoteApp
На терминальном сервере каждый пользовательский сеанс Windows с запущенной 1С — отдельное рабочее место. Десять человек через RDP — десять лицензий, хотя физически компьютер один.
Два частых варианта:
- 🖥️ Лицензии на терминальном сервере. Программные многопользовательские лицензии активируются на самом терминальном сервере. Проверка —
ring license listна нём. - 🗄️ Терминальный сервер
+ сервер 1С. Если база клиент-серверная и выдача лицензий сервером включена, лицензии берутся с сервера 1С. Тогда смотрите
rac, а на терминальном сервере лицензий может не быть вовсе.
Однопользовательский локальный ключ и однопользовательская программная лицензия для терминального доступа нескольких людей не подходят. Нужны многопользовательские лицензии.
Отдельная ловушка — брошенные RDP-сеансы. Пользователь закрыл окно крестиком, сеанс Windows остался «отключённым», 1С внутри продолжает работать и держать лицензию. Настройте в политиках терминального сервера ограничение времени для отключённых сеансов: тогда они завершаются автоматически.
Автоматический контроль занятых лицензий
Ручная проверка помогает в момент сбоя. Чтобы узнавать о нехватке заранее, достаточно небольшого скрипта по расписанию.
Пример для сервера 1С на Linux:
#!/bin/bash
# Подсчёт занятых клиентских лицензий на сервере 1С
RAS="localhost:1545"
LIMIT=20 # ваш лимит по max-users-all
WARN=18 # порог предупреждения
CL=$(rac "$RAS" cluster list | awk -F': ' '/^cluster/{print $2; exit}')
USED=$(rac "$RAS" session list --cluster="$CL" --licenses | grep -c '^session')
echo "$(date '+%F %T') занято $USED из $LIMIT" >> /var/log/1c_licenses.log
if [ "$USED" -ge "$WARN" ]; then
echo "Лицензии 1С: занято $USED из $LIMIT" # замените на отправку в почту или мессенджер
fi
Запускайте из cron каждые 10–15 минут. Через пару недель в журнале видна реальная картина нагрузки: пик занятых мест, время пика, дни недели.
Как использовать эти данные при планировании:
| Наблюдение | Решение |
|---|---|
| Пик стабильно ниже лимита на 30% и больше | Лицензий с запасом, докупать не нужно |
| Пик упирается в лимит 1–2 раза в месяц | Разобраться с брошенными сеансами и терминальными таймаутами |
| Пик упирается в лимит ежедневно | Планировать покупку дополнительной клиентской лицензии |
| Много сеансов с одного компьютера | Проверить скрипты и обработки, открывающие лишние копии клиента |
Тот же подход работает на Windows: команды rac одинаковые, расписание — через Планировщик заданий.
Частые вопросы
Занимает ли лицензию Конфигуратор?
Тратят ли лицензии веб-клиент и тонкий клиент через публикацию на веб-сервере?
Можно ли сложить программные лицензии и аппаратный ключ?
Почему после закрытия 1С лицензия ещё какое-то время занята?
Как узнать лимит, если ключ без наклейки и документов нет?
rac session list --licenses: поле max-users-all покажет ёмкость ключа.