Почему 1С:Предприятие не видит лицензию и как вернуть её в работу
Содержание
Если 1С пишет Не обнаружена лицензия для использования программы, платформа не нашла ни файла программной лицензии, ни ключа HASP там, где искала. Сначала нажмите в окне ошибки «Подробнее»: там перечислено, где шёл поиск. Для программной лицензии проверьте каталог C:\ProgramData\1C\licenses, для USB-ключа — драйвер защиты и сам ключ. Всё остальное зависит от того, какая у вас защита и как подключена база.
Причин всего несколько, и они хорошо разделяются. Программная лицензия «слетает» после замены железа, переустановки Windows или переноса виртуальной машины. Аппаратный ключ перестаёт находиться из-за драйвера, USB-порта или сети. В клиент-серверном режиме ошибку часто даёт не компьютер пользователя, а сервер 1С, которому не хватает прав или настроек. Начните с определения типа защиты — от него зависит весь дальнейший путь.
Какая у вас лицензия: программная или ключ HASP
Посмотрите на комплект поставки или спросите того, кто покупал программу.
| Признак | Программная лицензия | Аппаратный ключ HASP |
|---|---|---|
| Что в комплекте | Конверт с пин-кодами | USB-ключ (локальный или сетевой) |
| Где хранится | Файл .lic на диске | В самом ключе |
| Привязка | К параметрам компьютера | К физическому ключу |
| Типичная причина сбоя | Смена железа, переустановка ОС | Драйвер, порт, менеджер лицензий |
| Как восстановить | Повторная активация резервным пин-кодом | Переустановка драйвера, настройка сети |
Быстрая проверка на месте:
- 📁 откройте
C:\ProgramData\1C\licenses— если там есть файлы с расширением.lic, у вас программная защита; - 🔌 посмотрите в USB-порты компьютера или сервера — ключ HASP обычно стоит рядом с сервером или на одном из рабочих мест;
- 🗂 в Linux программные лицензии лежат в
/var/1C/licenses.
Каталог ProgramData по умолчанию скрыт. Введите путь прямо в адресную строку проводника — так быстрее, чем включать показ скрытых папок.
Бывают и смешанные схемы: например, программная лицензия на сервер 1С и сетевой ключ HASP на клиентов. Тогда проверяйте ту часть, которой не хватило. Окно «Подробнее» обычно показывает, что именно не нашлось — клиентская лицензия или лицензия сервера.
Программная лицензия не находится: файл, права, повторная активация
Программная лицензия — это файл, связанный с параметрами конкретного компьютера. Платформа при запуске сверяет его с текущим железом. Не совпало — лицензии для неё нет.
Что ломает программную лицензию
- 🖥 замена материнской платы, процессора, системного диска или сетевой карты;
- 💿 переустановка Windows без сохранения каталога лицензий;
- ☁️ перенос виртуальной машины на другой хост или смена её MAC-адреса;
- 🔒 чистка диска «оптимизаторами», которые удаляют содержимое
ProgramData; - 👤 у пользователя нет прав на чтение каталога лицензий.
Порядок проверки
- Откройте
C:\ProgramData\1C\licensesи убедитесь, что файлы.licна месте. - Откройте свойства папки → вкладка «Безопасность». У группы «Пользователи» должно быть право на чтение. Если 1С запускают под ограниченной учётной записью, проверьте именно её.
- Вспомните, что менялось на компьютере за последние дни: железо, ОС, гипервизор. Если менялось — файл, скорее всего, уже не подходит.
- Если файлы удалены, а железо прежнее, верните их из резервной копии. Файл, снятый с этого же компьютера, снова заработает.
- Если железо поменялось, активируйте лицензию заново.
Повторная активация
Запустите 1С. В окне ошибки выберите получение лицензии и введите резервный пин-код из конверта. Регистрационные данные (организация, ИНН, адрес) вводите те же, что при первой активации: их сверяют.
Не тратите пин-коды на пробные активации. Их в комплекте ограниченное число. Когда резерв закончился, новые пин-коды выдаёт поставщик по запросу, и это занимает время.
Активация на «не тот» компьютер — частая беда. Если на сервере две сетевые карты или виртуальный адаптер VPN, лицензия привязывается к их параметрам. Отключите временные адаптеры до активации, иначе после разрыва VPN-соединения лицензия снова «пропадёт».
Утилита ring для просмотра лицензий
На сервере без графического интерфейса лицензии удобно смотреть через утилиту ring из пакета инструментов лицензирования. Команды, которые точно есть:
ring license list
ring license info --name <имя_лицензии>
Первая выводит список установленных лицензий, вторая — сведения о конкретной. Остальные подкоманды смотрите во встроенной справке утилиты. Так быстро видно, установлена ли лицензия вообще и на кого она зарегистрирована.
Ключ HASP не виден: подключение и драйвер защиты
Если защита аппаратная, первым делом исключите самое простое — сам ключ.
Физическая проверка
- Посмотрите на ключ: у исправного, распознанного системой ключа горит светодиод.
- Переставьте его в другой порт, лучше — прямо в материнскую плату на задней панели, без USB-хаба и удлинителя.
- Откройте «Диспетчер устройств». Ключ должен определиться без жёлтого восклицательного знака, обычно в разделе USB-устройств.
Не горит светодиод в любом порту и на другом компьютере — ключ, вероятно, неисправен. Его меняют через поставщика.
Драйвер
Драйвер защиты ставится вместе с платформой (отдельный пункт в установщике) или отдельным пакетом с сайта производителя ключей Sentinel. После обновления Windows драйвер иногда перестаёт работать, и его нужно переустановить.
Переустановка драйвера из командной строки, запущенной от имени администратора:
haspdinst.exe -r
haspdinst.exe -i
Первая команда удаляет драйвер, вторая ставит заново. Перед этим закройте 1С у всех, кто работает на этом компьютере. После установки перезагрузите машину.
Если установлен Sentinel Runtime, откройте в браузере http://localhost:1947. Это панель Sentinel Admin Control Center: в разделе ключей видно, какие ключи система нашла. Ключа там нет — проблема в драйвере или железе, а не в 1С.
Сетевой ключ и менеджер лицензий HASP
Сетевой ключ стоит на одном компьютере, а лицензии раздаются по сети. За раздачу отвечает служба HASP License Manager. Клиенты обращаются к ней по порту 475 (UDP и TCP).
Что проверить на компьютере с ключом
- ✅ служба HASP License Manager установлена и запущена (
services.msc); - ✅ ключ виден в «Диспетчере устройств»;
- ✅ входящие подключения на порт 475 разрешены в брандмауэре.
Файл nethasp.ini на клиенте
По умолчанию клиент ищет менеджер лицензий широковещательным запросом. В сети с несколькими подсетями, через VPN или при блокировке broadcast это не работает
. Тогда адрес сервера ключа прописывают явно в nethasp.ini. Файл лежит в каталоге conf платформы, обычно C:\Program Files\1cv8\conf\.
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled
Вместо 192.168.1.10 укажите адрес компьютера, где стоит ключ. Если UDP режется на маршрутизаторе, попробуйте NH_TCPIP_METHOD = TCP. После правки перезапустите 1С.
Файл nethasp.ini редактируйте в «Блокноте», запущенном от имени администратора. Иначе Windows сохранит копию в виртуализованный каталог пользователя, а платформа будет читать старый файл.
Брандмауэр, антивирус и сеть
Когда ключ или сервер 1С на другом компьютере, ошибку часто даёт сеть. Проверяйте по порядку.
| Что передаётся | Порт | Где открыть |
|---|---|---|
| Менеджер лицензий HASP | 475 UDP/TCP | На компьютере с сетевым ключом |
| Агент сервера 1С | 1540 TCP | На сервере 1С |
| Менеджер кластера | 1541 TCP | На сервере 1С |
| Рабочие процессы | Диапазон из свойств рабочего сервера (по умолчанию 1560–1591) | На сервере 1С |
Как убедиться, что порт доступен с клиента, — через PowerShell:
Test-NetConnection 192.168.1.10 -Port 475
TcpTestSucceeded : True значит, что TCP-порт открыт. UDP так не проверить: если TCP проходит, а лицензия не находится, переключите клиента на TCP в nethasp.ini.
Ещё несколько сетевых причин:
- 🛡 сторонний антивирус с сетевым экраном блокирует службу менеджера лицензий — добавьте её в исключения;
- 🌐 компьютер с ключом сменил IP-адрес по DHCP, а в
nethasp.iniпрописан старый — закрепите адрес за ним; - 🔁 клиент и ключ в разных подсетях, broadcast не проходит — нужен явный адрес в
nethasp.ini.
Лицензии в клиент-серверном режиме
Если база работает через сервер 1С, лицензию может искать не компьютер пользователя, а сам сервер. От этого зависит, где чинить.
Лицензия на сервер 1С
Сервер 1С проверяет собственную лицензию. Если её нет, пользователи не подключатся. Программная лицензия сервера лежит в каталоге лицензий на самом сервере: C:\ProgramData\1C\licenses в Windows, /var/1C/licenses в Linux.
Служба сервера работает от отдельной учётной записи, обычно USR1CV8. У неё должны быть права на чтение каталога лицензий. Это одна из самых частых причин: администратор активировал лицензию под своим пользователем, а служба файл прочитать не может.
Выдача клиентских лицензий сервером
Клиентские лицензии можно держать не на каждом компьютере, а на сервере. Тогда сервер сам выдаёт их пользователям. Это настраивается в консоли администрирования серверов 1С:
- Откройте свойства информационной базы.
- Установите параметр «Выдача лицензий сервером 1С:Предприятия» в значение «Да».
- Положите клиентские лицензии (файлы или ключ) на сервер.
Если параметр включён, а лицензий на сервере нет, пользователи увидят ошибку, хотя на их компьютерах всё в порядке. И наоборот: параметр выключен, лицензии только на сервере — клиенты их не получат.
Перезапуск службы агента сервера 1С обрывает все сеансы пользователей. Делайте его вне рабочего времени или предупредив людей заранее.
Сколько лицензий занято
Если ошибка появляется не у всех, а только у «лишних» пользователей, лицензии просто закончились. Посмотреть, кто их держит, можно через утилиту rac:
rac session list --cluster=<id_кластера> --licenses
Идентификатор кластера выдаёт rac cluster list. Зависшие сеансы, которые держат лицензию, видно и в консоли администрирования, в списке сеансов информационной базы.
Терминальный сервер и RDP
На терминальном сервере каждый RDP-сеанс считается отдельным рабочим местом. Десять человек на одном сервере — это десять клиентских лицензий, даже если физически компьютер один.
Что отличает терминальный режим:
- 🔢 считаются сеансы Windows, а не компьютеры: два окна 1С в одном RDP-сеансе — одна лицензия, два разных сеанса — две;
- 📍 программную лицензию активируют на самом терминальном сервере, а не на компьютерах пользователей;
- 🔑 ключ HASP вставляют в терминальный сервер или в машину, где работает менеджер лицензий; проброс USB-ключа с рабочего места через RDP для этого не подходит;
- 💤 «отключённые» RDP-сеансы, в которых осталась открытая 1С, продолжают занимать лицензию.
Последний пункт — частая причина ошибки по утрам. Пользователь вечером закрыл окно RDP крестиком, сеанс Windows остался висеть вместе с 1С, и лицензия занята.
Как найти такие сеансы: «Диспетчер задач» → вкладка «Пользователи» на терминальном сервере покажет состояние «Отключено». Завершите их или настройте в групповой политике автоматическое завершение отключённых сеансов через заданное время.
Завершая чужой отключённый сеанс, вы закрываете 1С без сохранения. Если в ней остался открытый несохранённый документ, он пропадёт. Перед этим свяжитесь с пользователем.
Если ничего не помогло
Пройдите короткую диагностику по симптому:
Если после всех проверок лицензия так и не находится, соберите для поставщика данные: точный текст окна ошибки с раскрытым «Подробнее», номер платформы (виден в окне «О программе»), тип лицензии и что менялось на компьютере. С этим набором вопрос обычно решают за один звонок.