Часто возникает ситуация, когда в организации успешно работают серверные базы 1С, но при попытке запустить локальную файловую базу на компьютере пользователя программа выдает ошибку: "Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!". При этом физический USB-ключ (например, на 10, 20 или 100 пользователей) установлен в сервер и исправно раздает лицензии для клиент-серверных соединений. Разберем подробно, почему так происходит и как заставить файловые базы "видеть" этот ключ.
Для начала проанализируем, как 1С ищет лицензию в разных режимах работы. Когда вы запускаете базу, работающую на сервере «1С:Предприятия», лицензию может выдавать сам сервер приложений. Он "видит" воткнутый в него USB-ключ, забирает из него свободную лицензию и отдает ее клиентскому сеансу. В этом случае клиенту не нужно искать ключ в сети самостоятельно.
Файловая база работает иначе. Она ничего не знает о существовании сервера приложений 1С и его механизмах раздачи лицензий. Файловый "движок" ищет лицензию в строгом порядке:
.lic).Если на сервере, где стоит ключ, не запущена специальная служба-посредник, файловая база просто не сможет "достучаться" до этого ключа по сети. Рассмотрим по шагам, что нужно сделать для исправления ситуации.
Это самый главный и эффективный способ. Чтобы сетевой ключ стал доступен для файловых баз, на сервере, где физически установлен USB-ключ, должна быть установлена и запущена программа HASP License Manager.
Рассмотрим порядок действий:
hasplms.exe.Иногда даже при запущенном менеджере лицензий файловая база не может найти ключ из-за особенностей сетевой инфраструктуры (разные подсети, блокировка UDP-пакетов). В этом случае нам поможет явное указание адреса сервера в конфигурационном файле nethasp.ini.
Проанализируем структуру этого файла. Обычно он находится по пути: C:\Program Files (x86)\1cv8\conf\nethasp.ini. Нам необходимо отредактировать секцию [NH_TCPIP]. Разберем пример правильной настройки:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10 ; Укажите здесь IP-адрес вашего сервера с ключом
NH_TCPIP_METHOD = TCP ; Принудительно используем TCP, если UDP блокируется
NH_USE_UDP = Disabled ; Отключаем широковещательный поиск для ускорения
NH_USE_TCP = Enabled
Параметр NH_SERVER_ADDR является ключевым. Использование IP-адреса вместо имени сервера (например, server1c.blaz.ru) позволяет избежать проблем с разрешением имен через DNS.
Важный момент, который упоминался в обсуждении: если сервер 1С настроен на принудительную раздачу лицензий, он может "захватывать" все доступные слоты ключа. Рассмотрим, как это отрегулировать в консоли администрирования кластера 1С:
В этом случае и серверные, и файловые базы будут получать лицензии одинаковым способом — напрямую через HASP License Manager. Это делает систему лицензирования более прозрачной и предсказуемой.
Проанализируем ситуацию, когда файловая база запускается пользователем внутри RDP-сессии на самом сервере. Важно помнить: в терминальной сессии 1С принципиально не видит однопользовательские USB-ключи. Для работы в RDP всегда требуется сетевой (многопользовательский) ключ и установленный HASP License Manager, даже если база находится на том же физическом диске, куда воткнут ключ.
Если в вашей организации один большой ключ на 100 пользователей, и системный администратор не хочет менять схему раздачи лицензий, рассмотрите возможность использования "Комплекта специалиста по разработке". Он предоставляет персональную программную лицензию, которая позволит запускать любые конфигурации (включая файловые) локально, не затрагивая общий пул сетевых лицензий и не требуя сложной настройки сетевых протоколов.
Подведем итог: для работы файловых баз с сетевым ключом связка "HASP License Manager на сервере + настроенный nethasp.ini на клиенте" является "золотым стандартом" решения проблемы.