Все лицензии заняты: как найти, кто их держит, и вернуть доступ к базе

· 9 мин

Содержание

Сообщение «Не обнаружено свободной лицензии» значит, что 1С нашла источник лицензий, но все места в нём уже заняты. Ключ или программная лицензия на месте, просто число одновременных сеансов дошло до предела. Чаще всего виноваты зависшие процессы 1cv8.exe, забытые открытые Конфигураторы и сеансы, которые сервер ещё не освободил.

Реже за той же ошибкой прячется другое: клиент видит не тот ключ, лицензия «слетела» после замены оборудования, или в терминальном режиме стоит локальный ключ на одно место. Проверяйте по порядку: сначала сеансы, потом ключ и сеть, в конце — привязку лицензии.

Как 1С считает лицензии и почему места кончаются

Платформа 1С 8.3 берёт лицензию на каждый клиентский сеанс. Сеансом считается запуск толстого, тонкого или веб-клиента, Конфигуратора и внешнее COM-соединение. Если в компании 10 лицензий, то 11-й пользователь получит ошибку, даже если кто-то из первых десяти просто оставил окно открытым на ночь.

Источников лицензий два, и платформа проверяет оба:

  • 🔑 Аппаратный ключ HASP. USB-ключ: локальный (на один компьютер) или сетевой (на 5, 10, 20, 50 и более мест). Сетевой ключ раздаёт лицензии по сети через HASP License Manager.
  • 💾 Программная лицензия. Файл, полученный активацией ПИН-кода и привязанный к параметрам конкретного компьютера. Хранится в каталоге C:\ProgramData\1C\licenses.

В клиент-серверном варианте лицензии может получать сам сервер 1С:Предприятия. Тогда они берутся из ключа или файлов на сервере, а клиентам свои ключи не нужны.

СитуацияЧто видит пользовательЧто это значит
Все места заняты«Не обнаружено свободной лицензии»Источник найден, но лимит исчерпан
Ключ не виден совсем«Не обнаружен ключ защиты программы»Нет драйвера, ключа или связи с License Manager
Лицензия недействительнаПредложение активировать лицензиюФайл .lic не подходит к оборудованию

Различать эти сообщения полезно: от текста ошибки зависит, куда смотреть в первую очередь.

Кто занял лицензии: поиск зависших сеансов и процессов

Начинайте с подсчёта. Сравните число людей, которым нужна 1С, с числом мест в комплекте. Если работают 8 человек, а лицензий 10, то два места где-то потерялись.

Файловая база

В файловом режиме лицензию держит процесс на компьютере пользователя. Пока процесс жив, место занято.

  1. На компьютере пользователя откройте Диспетчер задач (Ctrl+Shift+Esc), вкладку «Подробности».
  2. Найдите процессы 1cv8.exe и 1cv8c.exe. Если окна 1С на экране нет, а процесс есть — это зависший сеанс.
  3. Завершите процесс. Несохранённые данные в нём пропадут, поэтому сначала уточните у пользователя.
  4. На терминальном сервере то же самое делайте по всем пользователям: в Диспетчере задач включите отображение процессов всех пользователей.

Список активных пользователей файловой базы виден и внутри программы: в БП 3.0 это Администрирование → Обслуживание → Активные пользователи. Там же видно, кто сидит в Конфигураторе.

Клиент-серверная база

Здесь сеансы видны в консоли администрирования серверов 1С. Откройте кластер, нужную информационную базу и узел «Сеансы». У каждого сеанса есть приложение (тонкий клиент, Конфигуратор, COM-соединение) и время начала.

То же самое из командной строки через сервер администрирования ras:

rac cluster list
rac session list --cluster=<id_кластера> --licenses

Вторая команда показывает сеансы вместе с полученными ими лицензиями. Остальные параметры смотрите в справке rac help session.

Удаление сеанса в консоли обрывает работу пользователя: незаписанный документ пропадёт. Предупредите человека или делайте это, когда в базе никто не работает.

💡 Частая находка — забытый Конфигуратор у программиста и COM-соединения от обработок обмена. Каждое из них занимает полноценное место.

Ключ HASP: что проверить на компьютере и в сети

Если зависших сеансов нет, а мест всё равно не хватает, проверьте, видит ли клиент нужный ключ и правильное ли у него число мест.

Порядок проверки:

  1. 💡 Индикатор на ключе. У исправного подключённого ключа горит светодиод. Не горит — смените USB-порт, уберите удлинитель или хаб.
  2. 🔧 Драйвер. Драйвер защиты ставится из дистрибутива платформы (компонент «Драйвер защиты» в установщике) или утилитой haspdinst.exe:
haspdinst.exe -i

Ключ -r удаляет драйвер. Переустановка с удалением помогает, если после обновления Windows ключ перестал определяться.

  1. 🏷 Тип ключа. Локальный ключ обслуживает только тот компьютер, в который вставлен. Сетевой ключ на 10 мест, вставленный без License Manager, тоже работает как локальный. Число мест указано в документах комплекта и на самом ключе.
  2. 🌐 Связь с сервером ключа. Клиент обращается к License Manager по порту 475 (UDP и TCP). Брандмауэр на сервере или клиенте, который режет этот порт, даёт ровно наш симптом: часть машин ключ видит, часть — нет.

Посмотреть, сколько лицензий выдано и кому, можно утилитой Aladdin Monitor. Её ставят на любой компьютер сети, она показывает найденные License Manager, ключи на них и число занятых мест. Если в мониторе 10 из 10 заняты, а в 1С работают 7 человек — лишние места держат зависшие клиенты.

Перезапуск и настройка HASP License Manager

HASP License Manager — служба, которая раздаёт места сетевого ключа. Она должна быть установлена на том компьютере, куда вставлен ключ.

Перезапуск службы

Сетевой ключ держит место за клиентом, пока клиент не отключится. При обрыве сети место освобождается не мгновенно. Перезапуск службы сбрасывает все выдачи.

  1. Откройте services.msc на компьютере с ключом.
  2. Найдите службу HASP License Manager (название может включать «HASP Loader»).
  3. Выполните «Перезапустить».

После перезапуска License Manager все пользователи сетевого ключа потеряют лицензии и при следующем действии получат ошибку. Перезапускайте после работы или предупредите людей заранее, чтобы они записали документы и вышли.

Файл nethasp.ini на клиентах

По умолчанию клиент ищет License Manager широковещательным запросом. В сетях с несколькими подсетями, VPN или фильтрацией широковещания поиск не работает . Тогда адрес сервера ключа прописывают явно в файле nethasp.ini. Его кладут в каталог conf платформы, например C:\Program Files\1cv8\conf\.

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = UDP

Здесь 192.168.1.10 — адрес компьютера с ключом. Если серверов ключей несколько, адреса перечисляют через запятую. Отключение широковещательного поиска заодно ускоряет запуск 1С: клиент не ждёт ответа от всей сети.

💡 Если в сети два License Manager с разными ключами, а клиент привязан только к одному, второй ключ для него «не существует». Проверьте, что в NH_SERVER_ADDR указаны все нужные адреса.

Программные лицензии: активация, ПИН-коды и повторное получение

Программная лицензия не «занимается» навсегда, но у неё своя ловушка: привязка к оборудованию. Сменили материнскую плату, сетевую карту, переустановили систему или перенесли виртуальную машину — платформа может перестать считать лицензию действительной.

Где посмотреть, какие лицензии есть

Файлы лицензий лежат в C:\ProgramData\1C\licenses с расширением .lic. Число файлов не равно числу мест: в одном файле может быть лицензия на несколько пользователей. На платформах, где есть утилита ring, список лицензий выводит команда:

ring license list

Параметры остальных команд смотрите в справке ring license help.

Повторная активация

Если лицензия перестала подходить к компьютеру, её получают заново тем же ПИН-кодом или резервным ПИН-кодом из конверта комплекта.

  1. Запустите 1С: при отсутствии действительной лицензии платформа сама предложит получить её.
  2. Выберите получение лицензии и введите регистрационный номер комплекта и ПИН-код.
  3. Если основной ПИН-код уже использован на прежнем оборудовании, введите резервный.
  4. Заполните данные владельца так же, как при первой активации: расхождение не позволит восстановить лицензию .

Резервных ПИН-кодов в комплекте ограниченное число. Не активируйте лицензию «на пробу» на тестовой машине: каждая активация расходует код. Когда резервы кончились, новые ПИН-коды выдаёт фирма 1С по запросу владельца лицензии.

Лишние и устаревшие файлы

Иногда после переноса в каталоге остаются старые файлы .lic, которые больше не подходят к компьютеру. Сам по себе такой файл места не освобождает и не занимает. Удалять его не нужно: сначала перенесите файлы в отдельную папку как резервную копию, затем проверьте, не изменилась ли ситуация.

Терминальный сервер и сервер 1С: особые случаи

Терминальный режим

На терминальном сервере каждый сеанс удалённого рабочего стола, запустивший 1С, расходует отдельную лицензию. Отсюда типичная ошибка: на сервер поставили локальный однопользовательский ключ или активировали лицензию на одно место, и второй пользователь сразу получает «нет свободной лицензии».

Что подходит для терминального сервера:

  • 🔑 сетевой ключ HASP на нужное число мест с License Manager;
  • 💾 программная многопользовательская лицензия, активированная на самом терминальном сервере.

Отдельная проблема терминала — сеансы в состоянии «отключён». Пользователь закрыл окно RDP крестиком, его сеанс остался жив, а с ним и 1cv8c.exe с лицензией. Настройте в политиках удалённых рабочих столов лимит для отключённых сеансов, чтобы они завершались автоматически.

Сервер 1С:Предприятия и SQL

В клиент-серверном варианте у информационной базы в консоли администрирования есть флаг «Разрешить выдачу лицензий сервером 1С:Предприятия». Если он включён, лицензии для клиентов получает сервер из своего ключа или файлов.

Отсюда две ошибки настройки:

  1. Флаг включён, а лицензии лежат на компьютерах пользователей. Сервер ищет у себя и не находит.
  2. Флаг выключен, лицензии стоят на сервере. Клиенты ищут у себя и тоже не находят.

Лицензия на сервер 1С (32- или 64-разрядный) — отдельный продукт, она разрешает работу самого сервера и не заменяет клиентские лицензии. СУБД (Microsoft SQL Server, PostgreSQL) лицензируется отдельно и к сообщению 1С о клиентских лицензиях отношения не имеет.

Какая у вас ситуация: быстрая диагностика

Диагностика: выберите симптом

Как не упираться в лимит снова

Причину нашли и устранили — теперь о том, чтобы она не вернулась.

  • 📊 Запас мест. Если в пиковые часы занято 9 из 10 лицензий, следующий новый сотрудник гарантированно вызовет ошибку. Докупать лицензию проще заранее.
  • ⏱ Лимит отключённых RDP-сеансов на терминальном сервере — главная профилактика «пропадающих» мест.
  • 🧹 Регламент выхода. Попросите пользователей закрывать 1С в конце дня, а программистов — не оставлять Конфигуратор открытым на рабочей базе.
  • 🔍 Регулярный взгляд на сеансы. Раз в неделю откройте консоль сервера или Aladdin Monitor и сравните число занятых мест с числом людей.
  • 📁 Учёт лицензий. Храните регистрационные номера комплектов, ПИН-коды и сведения об использованных резервах в одном месте. При переезде сервера это сэкономит день поиска.
  • 🔌 Ключ на сервере, а не на рабочем месте. Сетевой ключ, вставленный в компьютер бухгалтера, исчезает вместе с выключенным компьютером. Держите его на машине, которая работает постоянно.

Перед переносом базы на новый сервер выясните, какие лицензии программные. Их придётся активировать заново, и на это нужен свободный резервный ПИН-код.

Частые вопросы

Занимает ли лицензию фоновое задание на сервере 1С?
Нет. Фоновые и регламентные задания выполняются на сервере и клиентскую лицензию не берут. Лицензию занимают клиентские сеансы и внешние COM-соединения.
Можно ли одновременно использовать ключ HASP и программные лицензии?
Да. Платформа ищет лицензии в обоих источниках. Места из разных комплектов суммируются, если каждый источник доступен клиенту или серверу.
Сколько лицензий нужно, если один бухгалтер открывает две базы?
Две копии клиента на одном компьютере обычно берут одну лицензию программы. На терминальном сервере правило другое: каждый пользовательский сеанс получает своё место.
Почему после закрытия 1С лицензия освободилась не сразу?
Сетевой ключ держит место, пока не убедится, что клиент отключился. При обрыве связи это занимает время. Перезапуск License Manager освобождает места сразу, но сбрасывает всех пользователей.
Подойдёт ли сетевой ключ на 5 мест для десяти сотрудников?
Только если одновременно работают не больше пятерых. Лицензия ограничивает число одновременных сеансов, а не число учётных записей в базе.