Ситуация, когда при запуске 1С система выдает сообщение «Нет свободных лицензий», является одной из самых распространенных и в то же время запутанных проблем в администрировании. Часто бывает так, что количество купленных лицензий вроде бы соответствует числу сотрудников, но доступ внезапно блокируется для некоторых пользователей, а через некоторое время «само собой» восстанавливается. Разберем подробно, почему так происходит, как работает механизм поиска лицензий и что нужно настроить, чтобы система работала стабильно.
Первым делом нам необходимо понять, кто именно выдает лицензию пользователю в вашей системе. В 1С:Предприятие 8 существует два принципиально разных механизма работы программных лицензий в клиент-серверном варианте. Рассмотрим подробнее каждый из них:
.lic) или USB-ключ непосредственно на локальном компьютере пользователя или в сети через HASP License Manager. Если лицензия найдена «клиентом», то пользователь может запустить неограниченное количество окон 1С (разные базы, разные сеансы) в рамках одного компьютера, и это будет стоить всего одну лицензию.Проанализируем ситуацию в консоли администрирования серверов 1С. Откроем список «Сеансы» и обратим внимание на колонку «Лицензия». Выясним причину нехватки, изучив текст в этой колонке:
Клиент, номер лицензии — лицензию нашел сам клиент (ПК пользователя).Сервер, номер лицензии — лицензию выдал сервер из своего общего пула.Рассмотрим случай, когда пользователи работают через удаленный рабочий стол (RDP). Часто ошибка «Нет свободных лицензий» возникает из-за того, что старые сеансы не завершились корректно. Посмотрим на пример: пользователь закрыл 1С нажатием на «крестик» или у него оборвалось интернет-соединение. В терминальной сессии Windows процесс 1С может завершиться, но сессия останется в состоянии Disconnected.
Особое внимание стоит уделить процессу SplWOW64.exe. На 64-битных серверных операционных системах этот процесс отвечает за печать из 32-битных приложений. Часто бывает так, что 1С уже закрыта, а SplWOW64.exe продолжает удерживать сессию активной. Пока сессия активна, сервер 1С может считать лицензию занятой. Разберем по шагам, как это исправить:
Иногда система «спотыкается» о старые или битые файлы лицензий. Выясним причину, почему 1С не может найти свободный ключ, даже если он есть. 1С ищет лицензии в определенном порядке, и если в папке C:\ProgramData\1C\licenses или в профиле пользователя лежат файлы от старых, уже деактивированных лицензий, поиск может прерваться с ошибкой.
Рассмотрим алгоритм очистки:
%AppData%\1C\1Cv8\ и %ProgramData%\1C\licenses..lic, которые точно не являются актуальными (предварительно сделайте бэкап!).Если вы используете сетевые USB-ключи вместе с программными лицензиями, может возникнуть конфликт. Проанализируем работу конфигурационного файла nnhasp.ini. По умолчанию 1С пытается найти ключи везде, где только можно, что создает задержки и ошибки.
Рекомендуем явно указать адрес сервера лицензий. Посмотрим на пример настройки файла nnhasp.ini (обычно находится в папке conf внутри каталога установки платформы):
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Укажите IP вашего сервера с ключами
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled
Это заставит 1С обращаться напрямую к конкретному серверу, минуя широковещательные запросы, которые часто блокируются антивирусами или маршрутизаторами.
Программные лицензии 1С жестко привязаны к характеристикам компьютера. Рассмотрим подробнее, что может «сломать» лицензию на сервере:
Важный момент: если вы используете динамическое распределение памяти в Hyper-V или VMware, сервер 1С может решить, что он запущен на новом компьютере, и аннулировать привязку лицензии. В этом случае вы получите сообщение об отсутствии лицензий, хотя файл физически присутствует. Установите фиксированный объем памяти для виртуальной машины с сервером 1С.
Малоизвестный факт: один файл многопользовательской программной лицензии (например, на 500 рабочих мест) имеет ограничение — к нему не может быть более 256 одновременных обращений в рамках одной сессии ОС. Если у вас очень крупная инсталляция и все пользователи работают на одном терминальном сервере, рассмотрите возможность активации лицензии несколькими файлами (по 100 или 50 мест), чтобы распределить нагрузку на файловую систему и обойти этот лимит.
Для стабильной работы и исключения ошибки «Нет свободных лицензий» мы рекомендуем:
Правильная настройка один раз позволит вам забыть о проблемах с лицензированием на долгое время.