1С: Ключ защиты программы больше не доступен (Работа завершена)
Архитектура защиты HASP и причины обрыва связи
Ошибка «Ключ защиты программы больше не доступен. Работа программы завершена» возникает прямо во время активного сеанса пользователя. Клиент 1С (толстый/тонкий) периодически (раз в несколько минут) отправляет keep-alive запрос к службе выдачи лицензий (аппаратный HASP License Manager или сервер программных лицензий). Если в течение таймаута ответ не получен, платформа принудительно закрывает сеанс для предотвращения пиратского использования. Бизнес-риски: потеря несохраненных данных (чеков ККМ, накладных), прерывание длительных расчетов (закрытие месяца, расчет себестоимости).
Таблица триггеров ошибки лицензирования
| Источник проблемы | Описание сбоя | Уровень критичности |
|---|---|---|
| Сетевая инфраструктура (UDP 475) | Широковещательные запросы (Broadcast) HASP теряются в сложных сетях, VPN или режутся фаерволом/антивирусом. | Высокий |
| Энергосбережение USB / Служба HASP LM | ОС отключает питание USB-порта ключа (Selective Suspend), либо зависает служба HASP License Manager (nhsrvice.exe). | Средний |
| Исчерпание лимита лицензий | В терминальной среде (RDP) пользователи не закрывают сеансы (крестиком), «подвисшие» сессии удерживают ключи. | Низкий (решается сбросом сессий) |
Стабилизация связи с ключами HASP (Траблшутинг)
Сценарий 1: Отказ от Broadcast и жесткая привязка IP (nethasp.ini)
Самое эффективное решение проблем потери ключа — настройка клиента 1С на прямое подключение (по TCP/UDP) к серверу лицензий, минуя широковещательный поиск (Broadcast).
- На ПК пользователя перейдите в
C:\Program Files\1cv8\conf\(или в папку конкретного релиза). - Откройте файл nethasp.ini (если его нет, создайте или переименуйте nethasp.ini.bak).
- В секции
[NH_COMMON]снимите комментарии и задайте:NH_IPX = Disabled,NH_NETBIOS = Disabled,NH_TCPIP = Enabled. - В секции
[NH_TCPIP]настройте:NH_SERVER_ADDR = 192.168.1.100(IP сервера с ключом)NH_TCPIP_METHOD = TCPNH_USE_BROADCAST = Disabled - Сохраните файл и перезапустите 1С.
Сценарий 2: Оптимизация на стороне сервера лицензий (HASP LM)
- Таймауты HASP LM: В файле
nhsrv.iniна сервере (в папке Windows\System32 или SysWOW64) увеличьте таймауты.NHS_TCP_TICKET_IDLE_TIME = 15(минут). - Отключение IPv6: Служба HASP LM часто некорректно работает в сетях с активным IPv6. Отключите IPv6 в свойствах сетевого адаптера на сервере.
- Запрет отключения USB: В «Диспетчере устройств» -> «Контроллеры USB» -> Свойства корневых концентраторов -> Уберите галочку «Разрешить отключение этого устройства для экономии энергии».
Типовые ошибки администраторов
- Установка нескольких HASP LM в одной подсети: Два HASP License Manager одной серии (например, красные ORGL8) в одной L2-сети будут конфликтовать. Клиенты будут получать отказы. Ключи нужно объединять физически на одном сервере (если они разной серии) или разносить в разные сети.
- Игнорирование Aladdin Monitor (AKS Monitor): Диагностику нужно начинать с запуска AKS Monitor (Aladdin). Эта утилита наглядно показывает, какие сессии (IP, Пользователь) захватили лицензии и сколько ключей свободно.
Проблемы с HASP и программными лицензиями (пин-кодами) требуют тонкой настройки кластера 1С и менеджеров лицензий. Инженеры ITSTM настроят HASP LM, распределение программных лицензий через сервер 1С (Ring) и гарантируют безотказную работу терминальных ферм.
Частые вопросы (FAQ)
Почему 1С теряет ключ, если сервер и ПК находятся в одной комнате?
Сетевой коммутатор может блокировать UDP-broadcast трафик (защита от штормов), или на ПК обновился антивирус (например, ESET/Kaspersky), который молча блокирует порт 475 UDP.
Поможет ли замена аппаратного USB-ключа на программную лицензию (пин-коды)?
Да, программные лицензии, установленные на сервер 1С, более устойчивы к кратковременным разрывам сети между клиентом и сервером 1С. Но они привязываются к железу сервера (MAC-адрес, CPU).
Что значит 'Сеанс завершен администратором'?
Это другая ошибка. Она означает, что сеанс 'убил' системный администратор через консоль кластера 1С, либо сработал таймаут 'спящего сеанса' (настройка кластера), а не потеря HASP-ключа.
Где должен лежать nethasp.ini?
Для толстого клиента: C:\Program Files\1cv8\conf. Для тонкого клиента, установленного в профиль: %LocalAppData%\1C\1cv8\conf. Важно: настройки в файле применяются при запуске 1cv8.exe.