Что делать, если 1С 8.3 не видит ключ защиты при работе с удаленной базой?

Системный администратор 1С v8.3 (Управляемые формы) Сфера услуг, туризм и социальный сектор
← На главную

Ситуация, когда локальные базы 1С работают исправно, а информационная база, расположенная на удаленном сервере (например, сервере вышестоящей организации или в облаке), выдает ошибку «не найдена лицензия, не обнаружен ключ защиты программы», является классической проблемой сетевого администрирования 1С. В данной статье мы подробно разберем, как продиагностировать эту проблему, настроить сетевой доступ и убедиться, что клиентское приложение ищет лицензию в правильном месте.

Проанализируем архитектуру поиска лицензий

Для начала разберем важный нюанс. Если ваша база «Больничная аптека» находится на сервере Минздрава, а остальные базы — на вашем локальном сервере, то механизмы получения лицензий могут кардинально отличаться. Рассмотрим два основных способа, которыми программа может получать «билет» на работу:

  1. Клиентское получение: Ваше приложение 1С на локальном ПК ищет физический USB-ключ или программную лицензию в своей локальной сети.
  2. Серверное получение: Лицензию выдает сам сервер 1С:Предприятия, на котором опубликована база. В этом случае вашему компьютеру не нужен ключ — его должен «видеть» сервер на том конце соединения.

Если локальные конфигурации (БГУ, Кадры) работают, значит, ваши локальные ключи в порядке. Проблема с «Аптекой» означает, что либо сервер Минздрава перестал раздавать лицензии из своего пула, либо ваше клиентское приложение настроено на поиск только локальных ключей и «не знает», где искать сетевой ключ.

Шаг 1. Проверка сетевой доступности и портов

Работа с удаленным сервером чаще всего строится через VPN-соединение. Если VPN-туннель нестабилен или на нем закрыты специфические порты, 1С не сможет достучаться до менеджера лицензий. Проанализируем состояние сетевых узлов. Для работы аппаратных ключей HASP используются порты 475 (по протоколам UDP и TCP). Выясним, открыты ли они, выполнив простую проверку в командной строке или через PowerShell.

Разберем ситуацию с блокировками. Даже если системные администраторы на той стороне утверждают, что «все норм», пакеты могут отбрасываться брандмауэром или антивирусом. Нам необходимо убедиться, что трафик проходит беспрепятственно.

Шаг 2. Тонкая настройка файла nethasp.ini

По умолчанию 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

Разберем, что мы сделали этими командами:

Шаг 3. Проверка выдачи лицензий сервером 1С

Если вы подключаетесь к базе в режиме клиент-сервер, проверьте настройки самой информационной базы. В консоли администрирования серверов 1С (которую должен проверить администратор на стороне Минздрава) есть параметр Разрешить выдачу лицензий сервером 1С:Предприятия. Если там установлено значение Нет, то сервер будет требовать, чтобы лицензия была у вас локально. Если Да — сервер сам возьмет лицензию из своего общего пула и отдаст её вашему сеансу.

Часто после технических работ или обновлений этот флаг может «слететь», что и приводит к ошибкам у пользователей.

Шаг 4. Диагностика через веб-интерфейс Sentinel

Существует отличный способ проверить, обманывает ли вас техподдержка удаленного сервера. Если на сервере установлен драйвер HASP, там работает служба hasplms. Вы можете попробовать зайти в Sentinel Admin Control Center. Попробуйте ввести в браузере адрес http://[IP-адрес-сервера]:1947.

Если интерфейс открылся, перейдите в раздел Sentinel Keys. Там вы увидите все доступные ключи. Если список пуст или количество свободных лицензий (Available) равно нулю, значит, проблема действительно на стороне Минздрава, и ваши настройки тут ни при чем.

Шаг 5. Очистка кэша и локальных файлов лицензий

Иногда 1С «зацикливается» на старых данных. Если на вашем компьютере когда-то стояли программные лицензии (пин-коды), их остатки могут конфликтовать с поиском аппаратного ключа. Проанализируем папку C:\ProgramData\1C\licenses. Если там лежат файлы с расширением .lic, которые больше не актуальны, их стоит временно переместить в другую папку и проверить запуск базы.

Также полезно запустить базу с параметром очистки кэша. В окне запуска 1С выберите вашу базу, нажмите «Изменить», перейдите на последнюю закладку и в поле «Дополнительные параметры запуска» впишите:

/ClearCache

Резюме и выводы

В ситуации, описанной в теме, когда две базы работают, а третья (удаленная) — нет, наиболее вероятны две причины:

  1. Проблема на удаленной стороне: Закончились свободные лицензии на сервере Минздрава или зависла служба hasplms (требуется перезапуск службы администратором).
  2. Сетевые ограничения: VPN-канал блокирует прохождение запросов к менеджеру лицензий (требуется проброс порта 475).

Совет: Всегда начинайте диагностику с проверки файла nethasp.ini и явного указания IP-адреса сервера. Это снимает 90% проблем, связанных с «невидимостью» ключа в сложных сетевых структурах.

← На главную