Сообщение об отсутствии лицензии выглядит одинаково при совершенно разных причинах. Прежде чем что-то делать, определите тип защиты: программная лицензия (пин-код и активация), локальный аппаратный ключ HASP в USB или сетевой ключ на сервере.
Программная лицензия
Файлы лицензий хранятся в %ProgramData%\1C\licenses. Каталог скрытый, лицензия привязана к параметрам компьютера: имени, оборудованию, сетевому адаптеру, параметрам ОС.
Лицензия слетает, когда меняется то, к чему она привязана:
- замена материнской платы, диска, сетевой карты;
- крупное обновление или переустановка Windows;
- переименование компьютера или ввод в домен;
- клонирование или перенос виртуальной машины, изменение её конфигурации в гипервизоре;
- восстановление ВМ из снапшота.
Лечение — повторная активация с указанием причины. Число повторных активаций ограничено, при исчерпании обращаются к партнёру или в фирму «1С». Поэтому на виртуальных машинах фиксируйте конфигурацию ВМ до активации, а не после.
Проверка по шагам:
- Открыть
%ProgramData%\1C\licenses— файлы на месте? Если каталог пуст, лицензия не активирована на этом компьютере. - Права на каталог: у пользователя, под которым запускается 1С (или служба сервера), должен быть доступ на чтение.
- Запуск от имени другого пользователя — иногда лицензия активирована в профиле другой учётной записи.
- Для сервера 1С: лицензия должна лежать на сервере и быть доступна службе, работающей под своей учётной записью (обычно
USR1CV8).
Аппаратный ключ HASP
Локальный ключ: проверьте, что USB-ключ вставлен и виден в диспетчере устройств, что установлен драйвер, что ключ не «уехал» после переподключения через USB-хаб или проброса в виртуальную машину.
Сетевой ключ: на сервере с ключом должен работать HASP License Manager. Клиент ищет менеджер лицензий широковещательным запросом, и если сети разные или широковещание режется, поиск не сработает. Тогда адрес указывается явно в файле nethasp.ini в каталоге conf платформы, например C:\Program Files\1cv8\conf\nethasp.ini:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
NH_PORT_NUMBER = 475
Проверьте, что порт 475 (TCP и UDP) открыт в брандмауэре на сервере с ключом. Это причина примерно половины случаев «всё работало, пока не обновили Windows».
Лицензий не хватает
Ошибка появляется не при старте службы, а у части пользователей и обычно к середине дня. Смотрите в консоли администрирования кластера: сеансы, соединения, кто держит лицензию.
Частые причины:
- зависшие сеансы после аварийного закрытия клиента — их завершают вручную;
- фоновые и регламентные задания, занимающие лицензии;
- подключения через веб-клиент и мобильное приложение, которые тоже считаются;
- COM-соединения от интеграций — каждое берёт лицензию;
- базовая версия: она рассчитана на один сеанс, второй запуск невозможен по определению.
Полезно задать в кластере, где именно расположены лицензии: на сервере или на клиентах. Смешанная схема, когда часть лицензий стоит на рабочих станциях, а часть на сервере, регулярно приводит к неожиданной нехватке.
Порядок диагностики
- Прочитайте текст сообщения дословно. «Не обнаружен ключ защиты» и «Превышено количество лицензий» — разные истории.
- Определите тип защиты: программная, локальный HASP, сетевой HASP.
- Программная — проверьте каталог лицензий и права на него.
- Аппаратная — драйвер, менеджер лицензий,
nethasp.ini, порт 475. - Нехватка — консоль кластера, зависшие сеансы, интеграции.
- Ничего не помогло — соберите информацию до звонка партнёру: регистрационный номер, тип лицензии, что менялось в оборудовании и когда.
Перед любыми работами с виртуальной машиной, на которой активирована программная лицензия, узнайте у партнёра запас повторных активаций. Это дешевле, чем узнать о его исчерпании в момент, когда база уже не запускается.