Откуда 1С берёт лицензию и почему её не находит: диагностика по шагам
Содержание
Проверить лицензию
1С быстрее всего из самой программы: откройте Главное меню (≡) → Справка → О программе. В окне указано, какую лицензию получил текущий сеанс: программную (с путём к файлу .lic) или аппаратную (ключ HASP), и с какого компьютера она пришла. Если 1С не запускается вовсе, проверка идёт снаружи: папка с файлами .lic, служба менеджера лицензий HASP, порт 475 и файл nethasp.ini.
Порядок проверки различается для программной лицензии, локального ключа и сетевого менеджера лицензий. Всё описанное относится к платформе 8.3 и не зависит от конфигурации: в Бухгалтерии, ЗУП и УТ лицензирование работает одинаково.
Какие лицензии бывают у 1С 8.3 и где их ищет платформа
Платформа при запуске ищет лицензию сразу в нескольких местах. Чтобы понять, что проверять, сначала определите, чем защищён ваш комплект.
| Вид защиты | Как выглядит | Где «живёт» лицензия | Что проверять |
|---|---|---|---|
| Программная клиентская | Пин-код из 15 цифр в конверте | Файл .lic на компьютере пользователя или на сервере 1С | Папку licenses, утилиту ring |
| Аппаратная локальная | USB-ключ на одно рабочее место | Ключ, вставленный в этот компьютер | Драйвер ключа |
| Аппаратная сетевая | USB-ключ с маркировкой NET и числом мест | Ключ на компьютере с HASP License Manager | Службу менеджера, порт 475, nethasp.ini |
| Лицензия сервера 1С | Пин-код или ключ для сервера | Компьютер с сервером 1С:Предприятия | Консоль кластера, rac |
📌 Главное различие:
- 🔑 программная лицензия привязана к параметрам компьютера, при их смене она перестаёт действовать;
- 🔌 аппаратная привязана к ключу: переставили ключ — лицензия «переехала» вместе с ним;
- 🌐 сетевой ключ раздаёт места по сети, и за выдачу отвечает отдельная программа — HASP License Manager.
Проверка программной лицензии: «О программе», файлы .lic и утилита ring
Окно «О программе»
Запустите базу в режиме 1С:Предприятие и откройте ≡ → Справка → О программе. Найдите строку о лицензии. Там видно три вещи:
- Вид лицензии: программная или ключ защиты.
- Для программной — путь к файлу, из которого она получена.
- Для клиент-серверной базы — получена ли лицензия на клиенте или выдана сервером.
Если в окне указан не тот файл, который вы ожидали (например, лицензия пришла с сервера, а не локальная), значит, у вас несколько источников и платформа выбрала первый подходящий.
Папки с файлами лицензий
Активированная программная лицензия — это файл с расширением .lic. Стандартные места хранения в Windows:
C:\ProgramData\1C\licenses— лицензия для всех пользователей компьютера;%APPDATA%\1C\licenses— лицензия только для текущего пользователя Windows.
Откройте папку и проверьте, что файл на месте и его дата совпадает с датой активации. Файл можно открыть Блокнотом: в начале обычно есть читаемый блок с данными регистрации (организация, продукт, число мест).
Не правьте и не переименовывайте содержимое .lic. Любое изменение внутри файла делает лицензию недействительной. Копию файла держите в резервном хранилище, но учтите: на другом компьютере она работать не будет.
Утилита ring
Для работы с программными лицензиями без запуска базы у 1С есть утилита командной строки ring с модулем лицензирования. Её ставят отдельно вместе с инструментами лицензирования, для работы нужна Java.
ring license list
ring license info --name <имя_лицензии>
ring license validate --name <имя_лицензии>
listвыводит все активированные лицензии на компьютере;infoпоказывает данные конкретной лицензии;validateпроверяет, подходит ли она к текущему оборудованию.
Если validate сообщает о несоответствии, причина почти всегда в смене оборудования или переустановке ОС. Полный список параметров смотрите в ring license help.
Что сбивает привязку программной лицензии
Лицензия запоминает параметры компьютера. Её «роняет»:
- 🖥 замена материнской платы, процессора, системного диска;
- 🌐 замена или отключение сетевой карты;
- 💿 переустановка Windows;
- ☁️ для виртуальной машины — смена её параметров, перенос на другой хост с изменением оборудования.
В этом случае лицензию активируют заново резервным пин-кодом из того же конверта. Когда резервные пин-коды закончились, восстановление идёт через партнёра 1С или центр лицензирования с объяснением причины.
Как проверить ключ HASP и менеджер лицензий HASP License Manager
Локальный ключ
Для локального USB-ключа менеджер лицензий не нужен, нужен только драйвер ключа. Проверка:
- Посмотрите на ключ: индикатор должен гореть. Не горит — драйвер не установлен или порт не работает .
- Откройте Диспетчер устройств и найдите ключ в разделе USB-устройств.
- Если установлен драйвер Sentinel, откройте в браузере
http://localhost:1947— в списке ключей должен быть ваш ключ с отметкой о локальном подключении.
Переустановку драйвера делают из каталога дистрибутива платформы: там лежит установщик драйвера защиты. Перед переустановкой выньте ключ из порта.
Сетевой ключ и HASP License Manager
Сетевой ключ вставляют в один компьютер, на нём же ставят HASP License Manager (HASP LM). Остальные компьютеры получают места по сети через этот менеджер. Проверяйте по цепочке:
- Служба запущена. На компьютере с ключом откройте
services.mscи найдите службу с HASP в названии. Состояние — «Выполняется», тип запуска — «Автоматически». - Ключ виден менеджеру. Запустите утилиту Aladdin Monitor (она ставится отдельно). В дереве слева должен появиться компьютер с менеджером, а под ним — ключ и число занятых мест.
- Порт 475 доступен. HASP LM работает через порт 475. С клиентского компьютера проверьте TCP-доступ:
Test-NetConnection -ComputerName 192.168.1.10 -Port 475
TcpTestSucceeded : True значит, что брандмауэр пропускает соединение. Если False — откройте на компьютере с ключом входящие соединения на порт 475 по TCP и UDP.
Aladdin Monitor показывает, кто сейчас занимает места сетевого ключа. Это самый быстрый способ ответить на вопрос «почему не хватает лицензий, если людей меньше».
Перезапуск службы HASP License Manager обрывает выданные лицензии: у пользователей, работающих в 1С, может появиться ошибка лицензии. Делайте это вне рабочего времени или после предупреждения коллег.
Несколько ключей на одном компьютере
Два ключа одинаковой маркировки на одном компьютере менеджер лицензий не суммирует: виден только один. Ключи разных серий на одном компьютере работают. Если у вас два одинаковых сетевых ключа, разнесите их по разным компьютерам, на каждом поставьте свой менеджер.
Настройка сетевого менеджера лицензий через nethasp.ini
По умолчанию клиент 1С ищет сетевой ключ широковещательным запросом. В сети с несколькими подсетями, VPN или VLAN такой поиск не доходит до менеджера, и 1С сообщает, что ключ не найден. Решение — явно указать адрес менеджера в nethasp.ini.
Файл лежит в каталоге conf установленной платформы на каждом клиентском компьютере (обычно C:\Program Files\1cv8\conf\ или bin\conf внутри каталога конкретной версии). Рабочий пример:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled
Что здесь важно:
NH_SERVER_ADDR— IP-адрес компьютера с ключом и менеджером. Несколько адресов перечисляют через запятую;NH_USE_BROADCAST = Disabled— отключает широковещательный поиск, клиент идёт сразу по адресу;NH_TCPIP_METHOD— способ обмена. Если по UDP связь нестабильна, попробуйтеTCP.
После правки файла перезапустите 1С на клиенте. Перезагружать компьютер не нужно.
Если на клиенте установлено несколько версий платформы, у каждой может быть свой nethasp.ini. Правьте файл той версии, которой запускаете базу.
Лицензии сервера 1С и клиент-серверный вариант
В клиент-серверной работе есть две разные проверки: лицензия самого сервера и клиентские лицензии.
Лицензия сервера
Без лицензии сервера 1С:Предприятия базы на нём не запускаются. Программная лицензия сервера хранится на компьютере с сервером в той же папке C:\ProgramData\1C\licenses. Проверка — та же утилита ring, запущенная на сервере.
Клиентские лицензии, выдаваемые сервером
Клиентские программные лицензии можно положить на сервер: тогда сервер раздаёт их сеансам, и пользователям не нужна лицензия на своём компьютере. Чтобы это работало, в свойствах информационной базы в консоли кластера должна быть разрешена выдача лицензий сервером 1С:Предприятия.
Кто какую лицензию занял, видно двумя способами.
Консоль кластера. Откройте оснастку администрирования серверов, раскройте кластер и узел «Лицензии». Там список лицензий, выданных сеансам, с указанием вида и источника.
Утилита rac. Сначала получите идентификатор кластера, затем список сеансов с лицензиями:
rac cluster list
rac session list --cluster=<uuid_кластера> --licenses
Для каждого сеанса выводится, какая лицензия ему досталась: программная (с путём к файлу) или аппаратная, и на каком компьютере она получена. Команды выполняются там, где запущен сервер администрирования ras; если ras работает на другом компьютере, укажите его адрес в конце команды.
💡 Если пользователей 8, а лицензия на 10 мест «закончилась», ищите в этом списке зависшие сеансы и фоновые задания, которые тоже могут занимать места, и одного пользователя, открывшего базу в нескольких окнах на разных компьютерах.
Журнал получения лицензий: технологический журнал и событие LIC
Когда лицензия «то есть, то нет», окна «О программе» мало. Нужен журнал: в технологическом журнале платформы есть событие LIC, в которое пишутся попытки получить лицензию
и их результат.
Создайте файл logcfg.xml в каталоге conf платформы на том компьютере, где получают лицензию (на клиенте — для локальной лицензии, на сервере — для серверной):
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\1C_logs\lic" history="24">
<event>
<eq property="name" value="LIC"/>
</event>
<property name="all"/>
</log>
</config>
Платформа подхватит настройку сама в течение примерно минуты. Воспроизведите проблему и откройте файлы .log в C:\1C_logs\lic. По записям видно, где платформа искала лицензию, какой файл или ключ пробовала и с каким результатом.
Каталог для журнала должен быть доступен на запись пользователю, под которым работает 1С или служба сервера. После диагностики удалите logcfg.xml, иначе журнал будет расти и занимать диск.
Журнал регистрации базы (Администрирование → Обслуживание → Журнал регистрации) про лицензии почти ничего не скажет: если лицензии нет, сеанс до базы не доходит.
Ошибки получения лицензии и что с ними делать
Самое частое сообщение — Не обнаружен ключ защиты программы или полученная программная лицензия!. Оно одно на все случаи, поэтому причину ищут по обстоятельствам.
Если не помогло
- Включите технологический журнал с событием
LICи посмотрите, какой источник платформа пробует последним. - Временно уберите лишние источники: оставьте одну лицензию и проверьте запуск.
- Проверьте права: у пользователя Windows должно быть право на чтение папки
C:\ProgramData\1C\licenses. - Для сетевого ключа попробуйте вставить его в другой USB-порт напрямую, без удлинителя и хаба.
Автоматический контроль менеджера лицензий
Узнавать о падении менеджера лицензий от бухгалтерии в понедельник утром — плохой сценарий. Простой скрипт PowerShell, запущенный по расписанию, ловит проблему раньше пользователей.
# Проверка службы HASP и доступности порта менеджера лицензий
$server = "192.168.1.10"
$log = "C:\1C_logs\lic_monitor.log"
$time = Get-Date -Format "yyyy-MM-dd HH:mm"
$svc = Get-Service | Where-Object { $_.DisplayName -like "*HASP*" }
if (-not $svc) {
Add-Content $log "$time служба HASP не найдена"
} elseif ($svc.Status -ne "Running") {
Add-Content $log "$time служба $($svc.Name) в состоянии $($svc.Status)"
}
$port = Test-NetConnection -ComputerName $server -Port 475 -WarningAction SilentlyContinue
if (-not $port.TcpTestSucceeded) {
Add-Content $log "$time порт 475 на $server недоступен"
}
Как запустить:
- Сохраните скрипт, например, в
C:\Scripts\check_hasp.ps1. - В Планировщике заданий создайте задачу с запуском каждые 15 минут.
- Действие —
powershell.exe -ExecutionPolicy Bypass -File C:\Scripts\check_hasp.ps1.
Вместо записи в файл можно отправлять письмо или сообщение в мессенджер — добавьте эту команду в ветки с ошибкой.
Что ещё стоит контролировать по расписанию:
- 📄 наличие и дату файлов в
C:\ProgramData\1C\licenses— случайное удаление папки при «чистке» встречается чаще, чем кажется; - 📊 число занятых лицензий через
rac session list --licenses— если оно регулярно упирается в предел, мест пора докупать; - 🔑 результат
ring license validateпосле обновления драйверов, BIOS или переноса виртуальной машины.
Скрипт сам служб не перезапускает, и это сознательно: автоматический перезапуск HASP LM посреди рабочего дня оборвёт лицензии всем пользователям.