Как решить проблему нехватки программных лицензий 1С 8.3 и избавиться от файлов-дубликатов?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Каждый системный администратор, обслуживающий инфраструктуру 1С:Предприятие 8.3, рано или поздно сталкивается с загадочным поведением программных лицензий. Типичная ситуация: в компании приобретен пакет многопользовательских лицензий (например, на 35 рабочих мест), сервер перенесен на новую производительную аппаратную платформу, все пин-коды успешно активированы. Однако через некоторое время пользователи начинают массово жаловаться на ошибку: "Лицензия не обнаружена" или "Нехватка свободных лицензий".

При этом в консоли администрирования кластера серверов 1С четко видно, что активных сеансов не более 20. Почему же блокируется доступ остальным сотрудникам? В данной статье мы подробно разберем эту проблему по шагам, выясним скрытые причины ее возникновения, научимся правильно диагностировать неполадки и разберем корректный алгоритм очистки системы от поврежденных файлов программных лицензий.

Рассмотрим эту проблему комплексно: от простого удаления дубликатов файлов до тонкой настройки распределения лицензий сервером и оптимизации работы в виртуальных средах.

Шаг 1. Первичный сбор информации и чтение лога ошибки

Когда у пользователя на экране возникает окно с сообщением о невозможности запустить информационную базу, первым делом необходимо нажать кнопку "Подробно" в окне с ошибкой. Это действие открывает детальный технический журнал поиска ключей защиты. Нам крайне важно проанализировать этот текст, так как платформа 1С детально протоколирует весь процесс поиска лицензии.

В этом логе мы можем увидеть следующие ключевые маркеры:

Типичный фрагмент лога при проблемах с лицензированием выглядит следующим образом:


Локальный ключ защиты: не обнаружен
Программная лицензия: файл не найден или поврежден
Имя файла лицензии: C:\ProgramData\1C\licenses\20231011120000.lic
Причина отклонения: Обнаружено дублирование файла лицензии.

Проанализируем эту ситуацию. Если платформа сообщает о дублировании, это означает, что один и тот же файл лицензии (с идентичным регистрационным номером и пин-кодом) физически расположен в нескольких каталогах на сервере или рабочей станции.

Шаг 2. Почему возникают дубликаты файлов лицензий и как на них реагирует 1С

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

  1. Каталог профиля пользователя, от имени которого запущена служба сервера 1С (обычно это C:\Users\USR1CV8\AppData\Local\1C\1Cv8\conf или аналогичный путь).
  2. Общий для всех пользователей каталог данных программ: C:\ProgramData\1C\licenses (в операционных системах семейства Windows).
  3. Каталог установки конкретной версии платформы (например, C:\Program Files\1cv8\8.3.X.X\bin\conf).

Если в процессе сканирования этих директорий служба защиты сервера 1С обнаруживает два файла с одинаковым уникальным идентификатором лицензии (даже если они лежат в разных папках), срабатывает встроенный защитный механизм против пиратства и несанкционированного копирования.

Важно знать: Платформа 1С не просто игнорирует дубликат. Обнаружив два одинаковых ключа, сервер приложений осуществляет процедуру блокировки лицензии. При этом платформа физически модифицирует структуру самих файлов .lic. Она открывает их на запись и дописывает в самое начало файла служебную строку с информацией о нарушении лицензионного соглашения (обнаружении дублирования). С этого момента оба файла становятся нечитаемыми для системы защиты, и пользователи получают ошибку о нехватке лицензий.

Шаг 3. Правильный алгоритм удаления дубликатов и восстановления работы

Простое удаление одного из файлов-дубликатов, как это сделал автор темы на форуме, помогает далеко не всегда. Если платформа уже успела перезаписать оставшийся файл и добавить туда информацию об ошибке, система продолжит выдавать сообщение "Неверный формат файла лицензии". Чтобы гарантированно и правильно решить эту проблему, выполним следующие шаги:

  1. Остановим службу сервера 1С. Для этого откроем оснастку управления службами Windows (services.msc), найдем службу Агент сервера 1С:Предприятия 8.3 и остановим ее. Это необходимо для того, чтобы файлы лицензий и кэш сеансов не были заблокированы процессами rphost.exe или rmngr.exe.
  2. Проведем ревизию каталогов лицензий. Обойдем все каталоги, где могут храниться файлы программных лицензий (профиль пользователя службы, ProgramData, папки bin\conf платформы). Соберем все файлы с расширением .lic в одну временную папку для анализа.
  3. Выявим дубликаты. Откроем подозрительные файлы с помощью обычного текстового редактора (например, Блокнота). Обратим внимание на первую строку. Если там присутствует текст об ошибке дублирования, этот файл заблокирован. Сверим регистрационные номера лицензий внутри файлов.
  4. Удалим файлы связи сеансов. В каталоге с лицензиями обязательно найдем и удалим файлы конфигурации сетевых связей с расширением .pfl (например, 1cv8conn.pfl или conn8211.pfl). Эти файлы кэшируют информацию о выданных лицензиях и активных подключениях. Их удаление безопасно — платформа автоматически пересоздаст их при следующем запуске.
  5. Исправим или восстановим файлы лицензий. Если у нас остался только один оригинальный файл, но он поврежден (содержит строчку ошибки в начале файла), попробуем аккуратно удалить эту верхнюю строчку с помощью Блокнота и сохранить файл. Если это не помогло, удалим все поврежденные файлы этой лицензии и выполним процедуру повторной активации (восстановления) лицензии через конфигуратор 1С или утилиту активации, используя следующий неиспользованный пин-код из комплекта поставки.
  6. Запустим службу сервера 1С. Вернемся в оснастку служб и запустим Агента сервера 1С. Проверим работоспособность системы.

Шаг 4. Влияние способа раздачи лицензий на их расход (Сервер против Клиента)

Очень часто администраторы путают понятия "клиентская лицензия" и "способ раздачи лицензий". Настройка этого механизма коренным образом влияет на скорость исчерпания пула доступных лицензий. Выясним причину, почему 20 сотрудников могут мгновенно исчерпать 35 лицензий.

Существует два принципиально разных режима раздачи программных лицензий:

Режим 1. Лицензии раздает Сервер 1С (Расход "на сеанс")

Этот режим включается в свойствах конкретной информационной базы в консоли администрирования кластера (параметр Разрешить выдачу лицензий сервером установлен в значение Да). В этом случае все файлы лицензий .lic располагаются непосредственно на сервере приложений 1С. Сервер сам ведет учет подключений.

Особенность расхода: Сервер выдает лицензию индивидуально на каждый запущенный сеанс. Если один бухгалтер на своем рабочем компьютере запускает три разные информационные базы 1С (например, Бухгалтерию, ЗУП и Управление торговлей), сервер спишет из общего пула ровно 3 лицензии. Аналогично, если пользователь откроет два окна одной и той же базы, это также займет 2 лицензии. При таком подходе лимит в 35 лицензий может быть исчерпан даже 15-20 активными сотрудниками, работающими в режиме многозадачности.

Режим 2. Лицензии берет Клиентское приложение (Расход "на рабочее место")

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

Особенность расхода: Лицензия выделяется строго на рабочую станцию (компьютер). Это означает, что один и тот же пользователь на своем ПК может запустить неограниченное количество баз 1С, открыть десятки окон конфигуратора и предприятия, и все это займет ровно 1 лицензию из доступного пула.

Рекомендация: Если ваши сотрудники активно работают с несколькими информационными базами одновременно, настройте раздачу лицензий на стороне клиентов (например, разместив файлы многопользовательской лицензии на общем терминальном сервере в папке C:\ProgramData\1C\licenses), либо рассмотрите возможность вынесения сервера лицензирования.

Шаг 5. Проблема зависших сеансов и сетевых сбоев

Мнимая нехватка лицензий часто является следствием некорректного завершения работы пользователей. Проанализируем типичный сценарий: пользователь работал в терминальной сессии или по локальной сети через Wi-Fi. Произошел кратковременный обрыв сетевого соединения, либо пользователь просто закрыл крышку ноутбука, отправив его в спящий режим без закрытия программы 1С.

В этот момент клиентское приложение аварийно завершает работу, однако на сервере приложений 1С сеанс зависает. Он переходит в статус "спящего" сеанса. При этом программная лицензия продолжает удерживаться за этим зависшим подключением. В консоли кластера мы видим, что реально за компьютерами сидят 15 человек, а занято все 35 лицензий.

Для предотвращения подобных ситуаций выполним тонкую настройку параметров кластера 1С:

  1. Откроем консоль администрирования кластера серверов 1С:Предприятия.
  2. Перейдем в свойства нашего кластера.
  3. Установим жесткие лимиты для времени жизни неактивных сеансов:
    • Время засыпания сеанса — рекомендуем установить значение от 1200 до 1800 секунд (20-30 минут).
    • Время завершения спящего сеанса — рекомендуем установить значение 300-600 секунд (5-10 минут).

После применения этих настроек сервер будет автоматически принудительно закрывать зависшие сессии и возвращать удерживаемые ими лицензии обратно в общий пул.

Шаг 6. Специфика работы лицензий в виртуальных средах и RDP

Внедрение виртуализации (Hyper-V, VMware ESXi, Proxmox VE) накладывает жесткие требования на использование программных лицензий 1С. Программный ключ привязывается к ключевым параметрам аппаратной конфигурации сервера:

Если в настройках виртуальной машины включено динамическое распределение оперативной памяти (Dynamic Memory), при каждом изменении объема ОЗУ хостом виртуализации привязка лицензии будет "слетать". Платформа решит, что конфигурация компьютера изменилась, и заблокирует файл .lic. Решение: всегда выделяйте виртуальному серверу 1С статически фиксированный объем оперативной памяти и фиксированное число ядер процессора.

Также категорически запрещено клонировать виртуальные машины с уже активированными лицензиями. Если в одной локальной сети одновременно запустятся два сервера с одинаковыми файлами лицензий, служба защиты 1С моментально заблокирует их на обоих серверах.

Шаг 7. Использование утилиты ring для глубокой диагностики

В современных версиях платформы 1С поставляется мощный инструмент командной строки — утилита ring. С ее помощью мы можем детально исследовать состояние подсистемы лицензирования без запуска графического интерфейса 1С.

Чтобы проверить валидность установленных лицензий и просмотреть их параметры, откроем командную строку от имени администратора и выполним следующую команду:

lictool info --path "C:\ProgramData\1C\licenses"

Эта команда просканирует указанную директорию, выведет подробный список всех найденных лицензий, их регистрационные номера, типы (однопользовательские или многопользовательские), а также укажет, привязаны ли они к текущему оборудованию сервера. Использование утилиты ring позволяет администратору быстро локализовать неисправный или заблокированный файл лицензии и оперативно заменить его, не дожидаясь жалоб от пользователей.

← На главную