Ситуация, когда при входе в программу 1С:Предприятие 8.3 возникает сообщение «Не обнаружено свободной лицензии», является одной из самых распространенных и в то же время критических для работы организации. Особенно часто это происходит после обновления платформы, переноса базы на новый сервер или изменения состава пользователей. Разберем по шагам, как диагностировать причины этой ошибки и восстановить работоспособность системы в клиент-серверном варианте (SQL).
Прежде чем предпринимать активные действия, нам необходимо понять, какие именно лицензии видит система и в каком объеме. Если один пользователь (например, бухгалтер) зашел в программу, а остальные не могут, это явный признак того, что доступна только одна лицензия. Проанализируем информацию о лицензировании.
Зайдем в Конфигуратор (если это возможно) или в режиме «1С:Предприятие» перейдем в меню «Справка» — «О программе». В разделе «Лицензия» мы увидим подробную информацию о текущем сеансе и о том, какие лицензии зарегистрированы в информационной базе. Рассмотрим пример того, что мы можем там увидеть:
Текущая лицензия: 801117994, клиент, file://C:/ProgramData/1C/licenses/20180906121659.lic
Информационная база: список сетевых HASP-ключей и программных лицензий с их регистрационными номерами.
Проанализируем эти данные. Если в списке фигурирует регистрационный номер основной поставки (например, ПРОФ-версии на 1 рабочее место), а многопользовательские лицензии (на 5, 10 или 20 рабочих мест) отображаются только как записи о прошлых активациях, значит, система «потеряла» доступ к основным файлам лицензий.
В клиент-серверном варианте работы (SQL) принципиально важно понимать, как настроена выдача лицензий. Разберем два сценария:
.lic) установлен непосредственно на сервере. Сервер сам подсчитывает количество сеансов. Посмотрим на важный нюанс: при такой настройке каждый открытый сеанс (даже если один и тот же пользователь открыл две разные базы или одну базу дважды) занимает отдельную лицензию.Чтобы проверить настройки сервера, выполним следующие действия:
Если там установлено значение «Да», то сервер берет на себя управление программными лицензиями. Если при этом активна только однопользовательская лицензия из комплекта поставки, то первый зашедший пользователь заберет её себе, а остальные получат ошибку.
Часто проблема возникает после обновления платформы (например, до версии 8.3.18.1208). При установке новой версии могут сброситься права доступа для учетной записи, под которой запущен «Агент сервера 1С:Предприятия» (обычно это USR1CV8). Выясним причину, проверив права на папку:
C:\ProgramData\1C\licenses
Убедимся, что у пользователя USR1CV8 есть права на Чтение и Просмотр содержимого этой папки. Если сервер не может прочитать файл лицензии из-за ограничений Windows, он будет считать, что свободных лицензий нет.
Иногда лицензии оказываются заняты «зависшими» сеансами. Проанализируем список активных пользователей в консоли администрирования. Если мы видим сеансы пользователей, которые фактически не работают в программе (например, после аварийного завершения работы компьютера), их необходимо завершить принудительно. Для этой задачи можно использовать веб-приложение для управления сеансами сервера 1С.
Также рассмотрим ситуацию с конфликтом файлов лицензий. В папке C:\ProgramData\1C\licenses могут скапливаться старые, неактуальные или поврежденные файлы .lic. Попробуем выполнить следующие шаги:
Если в окне «О программе» вы видите записи типа Сетевой HASP4 ORGL8 10, но физически ключи в сервер не воткнуты, это может означать, что программа тратит время на поиск несуществующего оборудования. Разберем, как это оптимизировать.
Проанализируем файл nethasp.ini, который обычно находится в папке C:\Program Files\1cv8\conf (или в папке bin платформы). Чтобы ускорить поиск и избежать конфликтов, укажем конкретный IP-адрес сервера лицензий:
[NH_COMMON]
NH_TCPIP = ENABLE
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Укажите IP вашего сервера
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = DISABLE
Это заставит 1С обращаться напрямую к серверу, где установлен ключ или менеджер лицензий, не опрашивая всю сеть.
Разберем ситуацию: пользователи заходят на сервер через удаленный рабочий стол (RDP) и пытаются запустить 1С. Если у вас куплена однопользовательская программная лицензия, она «привязывается» к сессии. В терминальном режиме 1С потребует именно многопользовательскую лицензию. Если в системе активирована только лицензия из основной поставки (рег. номер начинается на 80...), она позволит работать только одному человеку в одной терминальной сессии. Для решения этой проблемы необходимо активировать дополнительную многопользовательскую лицензию (на 5, 10 и более мест) именно в режиме «На этот компьютер» для всех пользователей.
Подводя итог, если вы столкнулись с ошибкой «Не обнаружено свободной лицензии», выполните диагностику в следующем порядке:
.lic) и сколько рабочих мест она поддерживает.C:\ProgramData\1C\licenses для службы USR1CV8.Помните, что платформа версии 8.3.18.1208 имеет свои особенности в работе с лицензированием, и иногда простым решением является обновление на более стабильный релиз (например, 8.3.18.1289 и выше), где исправлены ошибки механизма проверки лицензий.