Сколько лицензий 1С куплено и сколько занято: способы проверки

· 9 мин

Содержание

Быстрее всего количество программных лицензий 1С видно по файлам *.lic в каталоге C:\ProgramData\1C\licenses (на Linux — /var/1C/licenses) и по выводу утилиты ring license list. Один файл — один активированный пин-код, а сколько рабочих мест он даёт, показывает ring license info.

Частое заблуждение: «сколько файлов, столько и пользователей». Это не так. Файл комплекта на 10 мест один, а мест в нём десять. Поэтому считать надо не файлы, а места внутри них, и отдельно — сколько из них занято прямо сейчас. Ниже — оба подсчёта, для файлового и клиент-серверного варианта.

Какие бывают лицензии 1С и где они физически лежат

Сначала разделите то, что считаете. У платформы 1С:Предприятие 8.3 два вида лицензий и два способа защиты.

По назначению:

  • 👤 Клиентские — дают право запускать 1С на рабочих местах. Бывают на 1 место и комплектами (5, 10, 20, 50, 100, 300, 500 мест).
  • 🖥️ Серверные — дают право запускать кластер серверов 1С (32- или 64-разрядный, в том числе редакции КОРП). Пользователей они не добавляют.

По способу защиты:

  • 🔑 Программная лицензия — файл .lic, который создаётся при активации пин-кода и привязан к параметрам компьютера.
  • 🔌 Аппаратная — USB-ключ HASP. Число мест зашито в ключ, файлов нет.

Каталоги с файлами лицензий

ГдеПутьКому доступна лицензия
Windows, общий каталог%ALLUSERSPROFILE%\1C\licenses (обычно C:\ProgramData\1C\licenses)Всем пользователям компьютера
Windows, профиль пользователя%APPDATA%\1C\licensesТолько этому пользователю Windows
Linux/var/1C/licensesВсем пользователям

На сервере 1С смотрите оба каталога Windows. Служба агента сервера работает от своей учётной записи (часто USR1CV8), и лицензия, активированная «под ней», окажется в её профиле, а не в ProgramData.

Кто какую лицензию берёт при запуске

От этого зависит, где именно считать. Схема упрощённо такая:

  1. Файловая база. Клиент ищет лицензию только на своём компьютере: файл .lic в каталогах выше или HASP-ключ (локальный либо сетевой). Лицензии, лежащие на другом компьютере, ему недоступны.
  2. Клиент-серверная база . Клиент сначала ищет лицензию у себя. Если не нашёл — запрашивает её у сервера 1С, и тогда место берётся из файлов на сервере.
  3. Флажок в параметрах базы. В окне запуска, в свойствах информационной базы, можно включить получение клиентской лицензии с сервера. Тогда локальные лицензии клиента не используются вовсе, а все места считаются на сервере.

Отсюда практическое правило. Для файловых баз считайте лицензии на каждом рабочем месте отдельно. Для клиент-серверных — на сервере плюс на тех клиентах, где лицензии активированы локально. Смешанная схема встречается часто: несколько старых однопользовательских лицензий на рабочих станциях и комплект на сервере.

Имя файла длинное и малоинформативное: по нему не понять, на сколько мест лицензия. Для этого нужна утилита из следующих разделов.

Подсчёт лицензий в консоли администрирования кластера

Если база работает в клиент-серверном варианте, консоль администрирования серверов 1С показывает, какие лицензии сейчас выданы сеансам. Это ответ на вопрос «сколько занято», а заодно — «на сколько мест рассчитан каждый комплект».

Порядок действий:

  1. Запустите «Администрирование серверов 1С Предприятия» на сервере или на машине администратора.
  2. Раскройте Central 1C:Enterprise 8.3 servers → ваш сервер → Кластеры → нужный кластер.
  3. Выделите узел Сеансы.
  4. В контекстном меню узла переключите вид на Лицензии. Вместо обычного списка сеансов появятся колонки с данными о лицензии каждого сеанса.
  5. Отсортируйте по колонке с описанием лицензии. Сеансы одного комплекта соберутся вместе.

Что даёт этот вид:

  • 📌 тип лицензии — программная или HASP;
  • 📌 откуда она взята — с клиентского компьютера или выдана сервером;
  • 📌 сколько мест в комплекте, из которого выдана лицензия;
  • 📌 какой компьютер и пользователь её держат.

Тот же переключатель вида есть у узла Рабочие процессы. Там видно, какие лицензии получил каждый рабочий процесс — полезно, когда клиентские лицензии лежат на сервере и раздаются оттуда.

Консоль показывает только занятые лицензии. Комплект, из которого сейчас никто не взял ни одного места, в списке не появится. Полный перечень купленного — только по файлам или через ring.

Если консоль не открывается

Чаще всего ломается регистрация оснастки после обновления платформы. Лечится перерегистрацией библиотеки из каталога bin установленной версии, от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"

Номер версии в пути замените на свой. Для 32-разрядной платформы каталог — C:\Program Files (x86)\1cv8\....

HASP-ключи: как посчитать аппаратные лицензии на сервере

Аппаратные ключи считают отдельно: файлов .lic у них нет.

  1. Откройте в браузере на компьютере с ключом адрес http://localhost:1947. Это веб-интерфейс менеджера лицензий Sentinel (Admin Control Center).
  2. В разделе со списком ключей проверьте, что ключ виден и на какой машине он воткнут.
  3. В разделе сеансов посмотрите, какие компьютеры сейчас держат сетевые места ключа.

Число мест сетевого ключа указано в документации комплекта и в маркировке ключа. Сопоставьте его с тем, что видите в консоли кластера.

Локальный однопользовательский ключ работает только на той машине, куда воткнут. Сетевой ключ раздаёт места по сети через менеджер лицензий — для этого служба менеджера должна быть запущена, а порт 1947 открыт в брандмауэре.

Если в организации есть и ключи, и программные лицензии, итог складывайте: места HASP + места из всех файлов .lic, доступных клиентам.

Утилита ring: точное число мест в каждом файле

Главный инструмент для подсчёта программных лицензий — утилита ring с модулем license из пакета «1С:Предприятие. Утилита администрирования лицензий» (1C:Enterprise License Tools). Ставится отдельно от платформы и требует установленной Java.

Список лицензий на компьютере

ring license list

Утилита выведет имена всех лицензий, найденных в стандартных каталогах. Если файлы лежат в другом месте, укажите каталог явно:

ring license list --path "D:\Backup\licenses"

Состав каждой лицензии

Для каждой строки из списка выполните:

ring license info --name <имя лицензии из вывода list>

В выводе будет описание продукта — например, клиентская лицензия на 5 рабочих мест или серверная лицензия x64. Именно отсюда берётся число мест.

Проверка, что лицензия ещё «живая»

ring license validate --name <имя лицензии>

Команда проверяет, соответствует ли файл текущему оборудованию. После замены материнской платы, диска или сетевой карты лицензия может перестать проходить проверку. Тогда физически файл есть, а мест он не даёт — и в подсчёт его включать нельзя.

Не удаляйте «лишние» файлы .lic, пока не проверили их через validate. Повторная активация расходует резервный пин-код, а их в комплекте ограниченное число.

Пример подсчёта на сервере:

Лицензия из ring license infoМест
Серверная x64— (пользователей не даёт)
Клиентская, основная поставка ПРОФ1
Клиентская на 10 рабочих мест10
Клиентская на 5 рабочих мест5
Итого клиентских16

Результат удобно свести в простой реестр: компьютер, каталог, имя лицензии из ring, тип, число мест, дата активации, номер пин-кода из конверта. Такой список пригодится при проверке правообладателя, при переезде на новый сервер и при докупке мест. Обновляйте его после каждой активации или замены оборудования — тогда пересчитывать всё заново не придётся.

Журнал регистрации и технологический журнал: история занятости

Файлы и ring отвечают на вопрос «сколько куплено». Но часто нужно другое: хватает ли этого в пиковые часы. Здесь помогают журналы.

Журнал регистрации

Сам по себе он не пишет событий «выдана лицензия». Зато фиксирует начало и окончание сеансов:

  1. Откройте журнал: в пользовательском режиме — Администрирование → Обслуживание → Журнал регистрации (в типовых БП 3.0 и ЗУП 3.1), в Конфигураторе — Администрирование → Журнал регистрации.
  2. Установите отбор по событиям «Сеанс. Начало» и «Сеанс. Завершение».
  3. Возьмите рабочий день с самой высокой нагрузкой — например, день сдачи отчётности.
  4. Посчитайте максимум одновременно открытых сеансов с разных компьютеров.

Это приблизительная оценка пиковой потребности в лицензиях. Сеансы одного пользователя с одного компьютера, как правило, занимают одну лицензию, поэтому группируйте по компьютеру, а не по числу строк.

Технологический журнал

Точнее работает технологический журнал с событием LIC — операции с лицензиями. Его включают файлом logcfg.xml в каталоге conf платформы:

<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 задаёт, сколько часов хранить файлы.

Технологический журнал быстро растёт. Включайте его на день-два, затем удаляйте logcfg.xml или убирайте из него событие.

Командная строка и PowerShell: проверка без консоли

Занятые лицензии через rac

Утилита rac подключается к серверу администрирования ras (по умолчанию порт 1545). Если ras запущен, лицензии сеансов видны так:

rac cluster list
rac session list --cluster=<UUID кластера> --licenses

Первая команда даёт идентификатор кластера, вторая — список сеансов с данными о лицензии: тип (программная или аппаратная), описание комплекта, число мест в нём. Если кластер защищён паролем, добавьте параметры администратора — их синтаксис покажет rac help session.

Быстрый перечень файлов через PowerShell

Когда ring не установлен, хотя бы посчитайте файлы во всех каталогах сразу:

$paths = @(
  "$env:ProgramData\1C\licenses",
  "$env:APPDATA\1C\licenses"
)
foreach ($p in $paths) {
  if (Test-Path $p) {
    Get-ChildItem $p -Filter *.lic |
      Select-Object FullName, Length, LastWriteTime
  }
}

Скрипт покажет, где лежат файлы и когда они появились. Дата создания подсказывает, когда активировали лицензию, — удобно сверить с бухгалтерскими документами о покупке. Число мест PowerShell не покажет: для этого всё равно нужен ring license info или документы комплекта.

Запускайте скрипт от имени той учётной записи, под которой работает служба сервера 1С, иначе $env:APPDATA укажет на ваш профиль, а не на профиль службы.

Почему цифры не сходятся: разбор частых промахов

Диагностика: выберите симптом

Ещё несколько ловушек, которые стоит держать в голове:

  • 🔄 Серверную лицензию не путайте с клиентской. Купленный сервер x64 не даёт ни одного рабочего места.
  • 🧾 Копия файла на другом компьютере не работает . Лицензия привязана к оборудованию, и копия пройдёт проверку только там, где её активировали.
  • 🖥️ Терминальный сервер считает иначе. На нём каждый пользователь в своём сеансе занимает отдельную клиентскую лицензию, даже если все сидят на одной машине.
  • ⏳ Фоновые задания клиентских лицензий не занимают, а вот Конфигуратор и внешнее COM-соединение — занимают.

Частые вопросы

Можно ли узнать число лицензий, не заходя на сервер?
Частично. Через rac с любого компьютера с доступом к ras видно занятые лицензии. Полный перечень купленного без доступа к каталогу лицензий сервера не получить.
Как сложить лицензии с разных компьютеров?
Каждый компьютер с файлами .lic проверьте отдельно через ring license list и info. Клиентские лицензии на рабочей станции доступны только ей, на сервере — всем клиентам кластера.
Что делать, если `ring` выдаёт ошибку при запуске?
Чаще всего не установлена Java или не та разрядность. Установите поддерживаемую версию Java и проверьте, что ring находит её через переменную JAVA_HOME или PATH.
Сохранится ли лицензия при переустановке Windows?
Только если оборудование не менялось и вы сохранили файлы .lic. Верните их в тот же каталог и проверьте командой validate. Не прошла проверку — нужна повторная активация резервным пин-кодом.
Где посмотреть лицензию, под которой работаю я сам?
В окне «О программе» (меню с тремя полосками → Справка → О программе) выводятся сведения о лицензии текущего сеанса: тип и откуда она получена.