Сколько лицензий 1С куплено и сколько занято прямо сейчас

· 9 мин

Содержание

Быстрее всего количество доступных лицензий 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С:Предприятие.
  2. Откройте главное меню (кнопка с тремя полосками в левом верхнем углу) → Справка → О программе.
  3. Найдите строку о лицензии.

Там написано, какую лицензию получил сеанс: программную или с аппаратного ключа, и выдана ли она сервером 1С. Для программной лицензии виден регистрационный номер — по нему лицензию потом ищут в списке ring и в папке лицензий.

Кнопка «Информация для технической поддержки» в том же окне копирует сведения о платформе и лицензии в буфер. Удобно, когда разбираетесь с проблемой удалённо и нужен точный текст.

Список активных пользователей

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

  • в Конфигураторе: меню Администрирование → Активные пользователи;
  • в типовых конфигурациях на БСП — обработка «Активные пользователи» в разделе «Администрирование».

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

Количество лицензий в консоли администрирования серверов 1С

В клиент-серверном варианте лицензии часто выдаёт сам сервер 1С. Это включается в свойствах информационной базы в консоли: параметр «Выдача лицензий сервером 1С:Предприятия». Если стоит «Да», клиенты берут лицензию у сервера, а не у себя на компьютере.

Через оснастку

  1. Откройте «Администрирование серверов 1С Предприятия».
  2. Раскройте Центральные серверы 1С:Предприятия 8.3 → <сервер> → Кластеры → <кластер>.
  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, который появляется после активации пин-кода. Один файл соответствует одной активированной лицензии.

Где лежат файлы

СистемаКаталог для всех пользователей
WindowsC:\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" хранит сутки.

Что искать в логах:

  1. Записи о получении лицензии — компьютер, пользователь, тип лицензии.
  2. Записи о неудачных попытках — в момент, когда пользователь получил отказ.
  3. Время пиков: если отказы идут в 9:00–9:30, проблема в одновременном входе, а не в общем числе сотрудников.

Отключите журнал, когда соберёте данные: удалите logcfg.xml или блок <log>. Иначе каталог продолжит расти.

Где у вас лежат лицензии 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С:Предприятие вместе занимают одно рабочее место.
Тратят ли лицензии веб-клиент и тонкий клиент через публикацию на веб-сервере?
Да. Каждое рабочее место веб-клиента получает клиентскую лицензию так же, как обычный клиент. Лимит считается общим для всех способов подключения.
Можно ли сложить программные лицензии и аппаратный ключ?
Да, платформа ищет доступную лицензию среди всех источников. Общий лимит — сумма мест программных лицензий и ключей, которые видны клиенту или серверу 1С.
Почему после закрытия 1С лицензия ещё какое-то время занята?
Сеанс завершается не мгновенно: сервер ждёт, пока соединение закроется. Если сеанс завис, он остаётся в консоли кластера. Его можно удалить вручную, предварительно убедившись, что пользователь не работает.
Как узнать лимит, если ключ без наклейки и документов нет?
Подключите ключ к серверу 1С или клиенту, запустите базу и выполните rac session list --licenses: поле max-users-all покажет ёмкость ключа.