Почему 1С не видит свободную лицензию и где её искать
Содержание
Ошибка Не обнаружено свободной лицензии! значит одно: клиент 1С перебрал все известные ему источники лицензий и не нашёл ни одной незанятой. Источников всего три: USB-ключ HASP (локальный или сетевой), программная лицензия в файле .lic и сервер 1С, который выдаёт лицензии сам. Почти всегда причина в одном из них: лицензии заняты, ключ не виден по сети или программная лицензия перестала совпадать с оборудованием.
Типичная картина: утром в понедельник пятый бухгалтер не может зайти в базу, хотя вчера работали все. Вечером кто-то не закрыл 1С на ноутбуке, у другого «повис» сеанс после обрыва VPN — и на пять мест пришлось шесть желающих. Ниже — порядок проверки от простого к сложному.
Диагностика: тип защиты и сколько лицензий занято
Начните с вопроса «откуда эта база вообще берёт лицензии». Ответ определяет, куда смотреть дальше.
| Что у вас | Где лицензии | Куда смотреть в первую очередь |
|---|---|---|
| 🔑 Локальный USB-ключ на компьютере | Ключ в USB-порту | Драйвер защиты, сам ключ |
| 🌐 Сетевой (многопользовательский) USB-ключ | Ключ на одном ПК + менеджер лицензий | Монитор HASP, nethasp.ini, порт 475 |
| 📄 Программная лицензия | Файл .lic на компьютере или сервере | Папки лицензий, замена оборудования |
| 🖥 Клиент-серверная база | Ключи или файлы на сервере 1С | Сеансы кластера, настройки выдачи лицензий |
Как быстро понять, сколько лицензий у вас куплено и сколько занято:
- На компьютере, где 1С запускается нормально, откройте окно «О программе» (через меню с тремя полосками в заголовке окна). Там указано, какая лицензия получена и откуда.
- Пересчитайте реальное число пользователей, которые сейчас в базе. В любой конфигурации это видно в списке активных пользователей:
Все функции → Стандартные → Активные пользователи. - Сложите номиналы ключей и программных лицензий. Комплект на 5 мест плюс основная поставка на 1 место дают 6 одновременных подключений, а не 5.
Если пользователей больше, чем лицензий, — ошибка закономерна. Если меньше, ищите технический сбой.
💡 Одна лицензия расходуется на один компьютер, а не на одно окно. Если пользователь открыл три базы на своём ПК, лицензия всё равно одна. Но три пользователя на трёх ПК — это три лицензии, даже если база одна.
Монитор и журнал менеджера лицензий HASP
Если у вас сетевой ключ, на одном компьютере в сети стоит Aladdin License Manager (служба HASP Loader). Он раздаёт места из ключа по сети. Первым делом убедитесь, что служба запущена: Win+R → services.msc → найдите её в списке.
Дальше нужно увидеть, кто занял места. Для этого есть утилита Aladdin Monitor (её ставят отдельно с сайта производителя ключей или с диска ИТС):
- Запустите монитор на любом компьютере сети.
- Слева появится список найденных менеджеров лицензий. Если список пуст — проблема в сети, переходите к разделу про
nethasp.ini. - Раскройте менеджер и выберите ключ. Справа видно максимальное число мест и текущее количество занятых, а также адреса станций, которые держат лицензии.
Если адресов станций больше, чем людей в базе, — у вас «мёртвые» подключения. Это частая история после обрыва связи: менеджер ещё какое-то время считает станцию живой.
Сам менеджер лицензий тоже ведёт журнал активности. Если запустить его как приложение (а не службу), в его окне видна лента событий: подключения, отказы, ошибки протокола. Это помогает понять, доходит ли запрос клиента до менеджера вообще.
Для современных драйверов Sentinel есть веб-интерфейс http://localhost:1947 на компьютере с ключом. Во вкладке со списком ключей видно, определяется ли ключ системой. Если ключа там нет — проблема не в 1С, а в драйвере или USB-порту.
Не вставляйте сетевой ключ в компьютер, который выключают на ночь или часто перезагружают. Каждая перезагрузка — это отказ в лицензии у всех пользователей сразу.
Зависшие сеансы и лишние подключения
Сеанс зависает, когда 1С закрыли некорректно: выключили ноутбук крышкой, оборвался VPN, «упал» терминальный сеанс. Лицензия при этом может какое-то время оставаться занятой.
Файловая база
- Посмотрите список активных пользователей (путь выше). Если там есть сотрудник, который точно не работает, — попросите его выйти или выйдите за него.
- На компьютере этого сотрудника откройте диспетчер задач и проверьте процессы
1cv8.exeи1cv8c.exe. Висящий процесс без окна — ваш виновник. - Завершите процесс. Если пользователь работал с документом, несохранённые изменения пропадут — предупредите его заранее.
Клиент-серверная база
Здесь лицензии держат сеансы кластера. Их видно в консоли администрирования серверов 1С: узел кластера → информационная база → «Сеансы». Через утилиту rac то же самое делается командами:
rac cluster list
rac session list --cluster=<uuid_кластера> --licenses
Вторая команда показывает, какой сеанс какую лицензию занял и из какого источника она получена. Удалить зависший сеанс можно в консоли (контекстное меню сеанса) или через rac; точный синтаксис посмотрите в rac help session.
Перед удалением сеанса убедитесь, что пользователь действительно не работает: у него оборвётся сеанс и пропадут несохранённые данные.
💡 Чтобы сеансы не висели неделями, договоритесь с сотрудниками закрывать 1С в конце дня. Для удалённых сотрудников это особенно важно: обрыв VPN — главный поставщик «призраков».
Драйвер ключа, версия платформы и разрядность сервера
Если ключ не виден даже на том компьютере, куда он вставлен, проблема на уровне драйвера.
Признаки:
- 🔴 светодиод на ключе не горит;
- 🔴 в диспетчере устройств ключ с жёлтым значком или неизвестное устройство;
- 🔴 на странице http://localhost:1947 ключа нет в списке.
Что делать:
- Переставьте ключ в другой USB-порт, лучше напрямую в системный блок, без удлинителей и хабов.
- Переустановите драйвер защиты. Он входит в дистрибутив платформы 1С (компонент «Драйвер защиты» в установщике) и распространяется отдельно как
haspdinst.exe. Запуск из командной строки администратора:
haspdinst.exe -r
haspdinst.exe -i
Первая команда удаляет старый драйвер, вторая ставит новый. После установки перезагрузите компьютер. Если ключ сетевой, перезагрузка оборвёт работу всех пользователей — делайте это вне рабочего времени.
- После обновления Windows старый драйвер иногда перестаёт работать. Решение то же — поставить свежую версию драйвера.
Ключи сервера 1С
С сервером 1С есть отдельная ловушка: ключ для 32-битного сервера не подходит 64-битному серверу 1С. Если вы перешли на 64-битный сервер и оставили старый серверный ключ, клиенты получат отказ. Проверьте маркировку ключа и комплектность поставки.
Отдельно проверьте, не стоит ли на компьютере пользователя одновременно своя локальная программная лицензия и сетевой ключ. Сам по себе такой набор не ошибка, но при разборе отказов он путает: клиент берёт первую найденную лицензию, и картина «кто что занял» расходится с ожиданиями.
Сетевые настройки: nethasp.ini, порт 475 и брандмауэр
По умолчанию клиент 1С ищет менеджер лицензий широковещательным запросом. В простой сети это работает. В сети с несколькими подсетями, VPN или виртуальными машинами — нет.
Решение — прямо указать адрес компьютера с ключом в файле nethasp.ini. Он лежит в каталоге conf установленной платформы, например C:\Program Files\1cv8\conf\nethasp.ini. Если файла нет — создайте.
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = UDP
Что здесь важно:
NH_SERVER_ADDR— IP-адрес компьютера, где стоит менеджер лицензий. Можно указать несколько через запятую, если ключей несколько.NH_USE_BROADCAST = Disabledотключает поиск по всей сети. Клиент сразу идёт по адресу и не путается с «чужими» менеджерами.- Если на компьютере установлено несколько платформ, файл должен быть в каталоге
confтой, которой реально запускаете 1С.
Менеджер лицензий работает на порту 475. На компьютере с ключом откройте во входящих правилах брандмауэра Windows порт 475 для TCP и UDP. То же правило проверьте на промежуточных маршрутизаторах и в настройках VPN.
Проверить доступность порта с клиента можно командой PowerShell:
Test-NetConnection 192.168.1.10 -Port 475
Команда проверяет только TCP. Если менеджер отвечает по TCP, а 1С всё равно не видит ключ, попробуйте в nethasp.ini переключить метод на TCP.
💡 Компьютеру с ключом назначьте постоянный IP-адрес — резервацией в DHCP или вручную. Иначе после смены адреса все клиенты с прописанным NH_SERVER_ADDR потеряют лицензии.
Программная лицензия перестала работать после замены оборудования
Программная лицензия — это файл .lic, привязанный к параметрам компьютера: диску, процессору, плате, сетевым адаптерам. Если параметры заметно изменились, платформа считает лицензию чужой и не использует её.
Где лежат файлы лицензий:
C:\ProgramData\1C\licenses— лицензии для всех пользователей компьютера;%APPDATA%\1C\licenses— лицензии текущего пользователя.
Типовые причины «слёта»:
- 🛠 замена системного диска, материнской платы или процессора;
- 🛠 перенос виртуальной машины на другой хост, смена её конфигурации;
- 🛠 переустановка Windows с форматированием диска;
- 🛠 удаление или замена сетевой карты.
Что делать:
- Запустите 1С. При отсутствии лицензии программа предложит её получить.
- Укажите регистрационный номер комплекта и неиспользованный пин-код. Пин-коды в комплекте выдаются с запасом как раз на такой случай.
- Активируйте лицензию через интернет. Без интернета можно получить лицензию через файл запроса, но это дольше.
Если запасные пин-коды закончились, восстановить лицензию поможет только центр лицензирования через вашего партнёра 1С. Заранее перепишите регистрационный номер и все пин-коды в надёжное место.
На серверах установите утилиту лицензирования и проверьте список установленных лицензий командой ring license list. Остальные параметры — в справке ring license help.
Не копируйте файл .lic с одного компьютера на другой «на всякий случай». На чужом оборудовании он не заработает, а при разборе инцидента только запутает.
Терминальный сервер: лицензии кончаются быстрее
На терминальном сервере 1С считает каждый пользовательский сеанс Windows отдельным рабочим местом. Десять человек, зашедших по RDP, — это десять лицензий, хотя физически компьютер один.
Что из этого следует:
- Для терминального сервера считайте лицензии по числу одновременных RDP-сеансов с запущенной 1С, а не по числу серверов.
- Отключённые, но не завершённые RDP-сеансы держат лицензию. Пользователь «закрыл крестик» окна подключения, а 1С внутри сеанса работает дальше.
- В групповых политиках сервера задайте ограничение для отключённых сеансов, чтобы они завершались через разумное время, например через 1–2 часа. Учтите: при завершении сеанса несохранённые данные пользователя пропадают.
Что касается ключа: многопользовательский сетевой ключ на терминальном сервере работает через менеджер лицензий, как и в обычной сети. Программные лицензии ставятся на сам сервер.
Если ничего не помогло
Пройдите проверку от обратного — от источника лицензии к клиенту:
- Источник жив? Ключ виден на http://localhost:1947, служба менеджера запущена, программные лицензии на месте.
- Путь открыт? Порт 475 доступен с клиента, адрес в
nethasp.iniверный. - Места есть? Монитор показывает свободные места, зависших станций нет.
- Клиент тот? Запускается та платформа, в чьём каталоге
confвы правилиnethasp.ini.
Для клиент-серверной базы проверьте в консоли кластера свойства информационной базы: включена ли выдача лицензий сервером 1С. Если включена, лицензии должны быть на сервере, а не на клиентах. Если в кластере несколько рабочих серверов, через требования назначения функциональности можно указать, какой из них выдаёт клиентские лицензии.
Когда все четыре звена в порядке, а отказ сохраняется, соберите данные для партнёра или поддержки: текст ошибки целиком, номер платформы, тип защиты, скриншот монитора HASP, вывод rac session list --licenses.