Ситуация, когда локальные базы 1С работают исправно, а информационная база, расположенная на удаленном сервере (например, сервере вышестоящей организации или в облаке), выдает ошибку «не найдена лицензия, не обнаружен ключ защиты программы», является классической проблемой сетевого администрирования 1С. В данной статье мы подробно разберем, как продиагностировать эту проблему, настроить сетевой доступ и убедиться, что клиентское приложение ищет лицензию в правильном месте.
Для начала разберем важный нюанс. Если ваша база «Больничная аптека» находится на сервере Минздрава, а остальные базы — на вашем локальном сервере, то механизмы получения лицензий могут кардинально отличаться. Рассмотрим два основных способа, которыми программа может получать «билет» на работу:
Если локальные конфигурации (БГУ, Кадры) работают, значит, ваши локальные ключи в порядке. Проблема с «Аптекой» означает, что либо сервер Минздрава перестал раздавать лицензии из своего пула, либо ваше клиентское приложение настроено на поиск только локальных ключей и «не знает», где искать сетевой ключ.
Работа с удаленным сервером чаще всего строится через VPN-соединение. Если VPN-туннель нестабилен или на нем закрыты специфические порты, 1С не сможет достучаться до менеджера лицензий. Проанализируем состояние сетевых узлов. Для работы аппаратных ключей HASP используются порты 475 (по протоколам UDP и TCP). Выясним, открыты ли они, выполнив простую проверку в командной строке или через PowerShell.
Разберем ситуацию с блокировками. Даже если системные администраторы на той стороне утверждают, что «все норм», пакеты могут отбрасываться брандмауэром или антивирусом. Нам необходимо убедиться, что трафик проходит беспрепятственно.
По умолчанию 1С ищет сетевые ключи с помощью широковещательного запроса (Broadcast). Однако широковещательные пакеты почти никогда не проходят через VPN в другие подсети. Чтобы программа «увидела» ключ на удаленном сервере, мы должны явно указать ей адрес этого сервера. Рассмотрим, как это сделать правильно в файле nethasp.ini.
Этот файл обычно находится в папке с установленной платформой: C:\Program Files\1cv8\conf\ или в папке конкретной версии платформы. Нам нужно отредактировать секцию [NH_TCPIP]. Рассмотрим пример настройки:
[NH_COMMON]
NH_TCPIP = ENABLED
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Замените на IP-адрес сервера Минздрава
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = DISABLED
Разберем, что мы сделали этими командами:
Если вы подключаетесь к базе в режиме клиент-сервер, проверьте настройки самой информационной базы. В консоли администрирования серверов 1С (которую должен проверить администратор на стороне Минздрава) есть параметр Разрешить выдачу лицензий сервером 1С:Предприятия. Если там установлено значение Нет, то сервер будет требовать, чтобы лицензия была у вас локально. Если Да — сервер сам возьмет лицензию из своего общего пула и отдаст её вашему сеансу.
Часто после технических работ или обновлений этот флаг может «слететь», что и приводит к ошибкам у пользователей.
Существует отличный способ проверить, обманывает ли вас техподдержка удаленного сервера. Если на сервере установлен драйвер HASP, там работает служба hasplms. Вы можете попробовать зайти в Sentinel Admin Control Center. Попробуйте ввести в браузере адрес http://[IP-адрес-сервера]:1947.
Если интерфейс открылся, перейдите в раздел Sentinel Keys. Там вы увидите все доступные ключи. Если список пуст или количество свободных лицензий (Available) равно нулю, значит, проблема действительно на стороне Минздрава, и ваши настройки тут ни при чем.
Иногда 1С «зацикливается» на старых данных. Если на вашем компьютере когда-то стояли программные лицензии (пин-коды), их остатки могут конфликтовать с поиском аппаратного ключа. Проанализируем папку C:\ProgramData\1C\licenses. Если там лежат файлы с расширением .lic, которые больше не актуальны, их стоит временно переместить в другую папку и проверить запуск базы.
Также полезно запустить базу с параметром очистки кэша. В окне запуска 1С выберите вашу базу, нажмите «Изменить», перейдите на последнюю закладку и в поле «Дополнительные параметры запуска» впишите:
/ClearCache
В ситуации, описанной в теме, когда две базы работают, а третья (удаленная) — нет, наиболее вероятны две причины:
hasplms (требуется перезапуск службы администратором).Совет: Всегда начинайте диагностику с проверки файла nethasp.ini и явного указания IP-адреса сервера. Это снимает 90% проблем, связанных с «невидимостью» ключа в сложных сетевых структурах.