В практике сопровождения клиент-серверных информационных баз 1С:Предприятия нередко возникает сбой, при котором пользователи успешно запускают программу непосредственно на сервере через Remote Desktop (RDP), однако при попытке запустить тонкий или толстый клиент с локального рабочего места появляется системное сообщение: «Ошибка: лицензия не обнаружена». Подобная ситуация часто проявляется после аварийной перезагрузки служб, зависания пула сеансов или применения обновлений операционной системы.
Для устранения неполадки необходимо понимать различия между контекстом исполнения клиента в терминале и на отдельном ПК, а также последовательно проверить параметры кластера серверов, журнал поиска лицензии, состояние сессий и системные права.
Когда пользователь работает внутри терминальной сессии на том же физическом или виртуальном сервере, где активирована многопользовательская программная лицензия или установлен аппаратный USB-ключ HASP, клиентское приложение 1С запускается локально в операционной системе сервера. В этом случае клиент находит файл программной лицензии (с расширением .lic) прямо на локальном диске в общедоступных системных каталогах или получает доступ к аппаратному ключу напрямую через локальный драйвер защиты.
Если же запуск выполняется с удаленного компьютера пользователя через локальную сеть, клиентское приложение физически не имеет прямого доступа к файловой системе сервера. Для получения лицензии удаленный клиент использует один из двух путей:
rmngr и rphost) в момент установки соединения с информационной базой.Если на клиентском ПК локальной лицензии нет, а сервер по какой-либо причине не выдает ее из своего пула, удаленный запуск завершается ошибкой, в то время как терминальные сеансы на самом сервере продолжают открываться без препятствий.
Основная причина, по которой сервер перестает выделять лицензии сетевым подключениям, — отключение соответствующей опции в конфигурации информационной базы в кластере 1С.
Кластеры -> имя вашего кластера -> Информационные базы.Свойства.Следует учитывать системное ограничение: при включенной раздаче лицензий сервером каждая открытая информационная база или отдельный сеанс расходует отдельную единицу из общего пула многопользовательской лицензии. Если один пользователь на рабочем месте откроет две разные базы, сервер спишет две лицензии, тогда как при локальном клиентском лицензировании одна лицензия покрывает все сеансы на одном физическом рабочем месте.
Если флаг в кластере включен, но ошибка сохраняется, необходимо проанализировать технический протокол. В окне с сообщением «Лицензия не обнаружена» нажмите ссылку или кнопку «Подробно...». В открывшемся окне отобразится подробный протокол опроса носителей защиты.
Обратите внимание на следующие маркеры в тексте протокола:
Аварийная остановка служб или внезапное зависание 50 и более пользовательских подключений часто приводит к тому, что в кластере остаются «призрачные» сеансы, которые продолжают удерживать лицензии даже после перезапуска клиентских приложений.
Порядок проверки и очистки:
Сеансы целевой информационной базы.Соединения. Нередко лицензии блокируются зависшими внешними процессами интеграции, например COM-соединениями (COMConnector), веб-сервисами или регламентными фоновыми заданиями.SplWOW64.exe, который продолжает работать в сессии пользователя и не дает операционной системе окончательно освободить занятые дескрипторы.Для предотвращения блокировки сеансов процессом печати рекомендуется скорректировать параметры в системном реестре Windows Server:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print]
"SplWOW64TimeOut"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\SysProcs]
"SPLWOW64.EXE"=dword:00000000
Установка параметра SplWOW64TimeOut в значение 1 секунда обеспечивает быстрое завершение процесса трансляции печати, а регистрация исполняемого файла в ветке SysProcs указывает подсистеме терминалов на необходимость принудительного закрытия процесса при завершении пользовательского сеанса RDP.
Программные лицензии 1С сохраняются в виде файлов с расширением .lic. Если лицензия была случайно активирована не для всех пользователей сервера, а в профиле конкретного администратора, служба кластера 1С не сможет ее прочесть.
%ProgramData%\1C\licenses (обычно это C:\ProgramData\1C\licenses) либо в каталоге данных службы сервера (например, C:\Program Files\1cv8\srvinfo).usr1cv8), должна обладать полными правами чтения и модификации папки с лицензиями. Если файл активирован в каталоге профиля пользователя (например, в AppData\Local\1C\...), служба сервера к нему доступа не имеет.%ProgramData%\1C\1CEStart\ или в профилях пользователей создается файл 1cv8conn.pfl, хранящий информацию о предыдущих успешных поисках лицензий. При повреждении этого файла или нарушении прав доступа к нему клиент может циклически падать с ошибкой отсутствия лицензии. В случае сбоя удалите или переименуйте данный файл при закрытых сеансах 1С.Если сервер настроен корректно и лицензии свободны, причиной отказа на удаленных ПК может быть блокировка служебных портов кластера 1С межсетевым экраном сервера или обновленным антивирусным пакетом.
Для корректного получения лицензий удаленные клиенты должны иметь прямой доступ к следующим диапазонам сетевых портов сервера 1С:
1540 — агент сервера (ragent).1541 — главный менеджер кластера (rmngr), отвечающий за авторизацию и распределение лицензий.1560–1591 — рабочие процессы кластера (rphost).При использовании веб-клиента или публикации базы через веб-сервер (например, по адресу https://example.com/base/) лицензирование сеансов веб-клиента также возлагается на сервер 1С либо модуль веб-расширения, что требует обязательного включения раздачи лицензий кластером.
При повторении инцидента придерживайтесь следующего алгоритма проверки:
C:\ProgramData\1C\licenses.