Часто системные администраторы сталкиваются с парадоксальной ситуацией: на сервере установлены три однопользовательские программные лицензии, в базе одновременно должны работать три человека, но система пускает только двоих. Проблема обостряется после обновления платформы 1С:Предприятие. Проанализируем, почему это происходит, и разберем по шагам методы диагностики и исправления данной ошибки.
Когда мы работаем в режиме терминального сервера (RDP), 1С:Предприятие использует специфический механизм подсчета программных лицензий. В отличие от локальной установки, на сервере лицензии должны собираться в общий пул. Рассмотрим основные причины, по которым одна из лицензий может стать недоступной:
.lic могут конфликтовать со старым кэшем.C:\ProgramData\1C\licenses. Если у пользователя недостаточно прав на чтение или модификацию этой папки, лицензия может не подхватиться.Рассмотрим практическое решение, которое помогло автору темы. Этот метод позволяет принудительно заставить платформу пересчитать доступные файлы лицензий. Проанализируем последовательность действий:
C:\ProgramData\1C\licenses..lic в другую директорию.Этот нехитрый способ часто помогает "протолкнуть" застрявшую проверку, так как 1С при каждом входе заново инициализирует файл и связывает его с текущим сеансом.
Выясним причину через мониторинг активных соединений. Даже если база файловая, мы можем увидеть ошибки в журнале регистрации или через диспетчер задач сервера. Если мы видим ошибку Превышено максимальное количество пользователей, разрешенное файлом программной лицензии, необходимо проверить следующее:
Проанализируем настройки терминального сервера. Рекомендуется ограничить пользователей одной сессией. В групповых политиках или настройках службы RDP установим параметр: "Ограничить пользователей служб удаленных рабочих столов одним сеансом". Это предотвратит ситуацию, когда один человек случайно занимает несколько лицензий.
Несмотря на то что используются программные лицензии, платформа по умолчанию пытается искать аппаратные ключи защиты (HASP). Это может замедлять запуск и приводить к сбоям в логике выбора программной лицензии. Рассмотрим, как оптимизировать этот процесс.
Найдем файл nethasp.ini (обычно он находится в C:\Program Files\1cv8\conf\) и убедимся, что поиск сетевых ключей не мешает работе программных. Для программных лицензий критически важно, чтобы в файле conf.cfg не было жестких ограничений, препятствующих поиску в ProgramData.
В новых версиях платформы 1С изменился алгоритм опроса лицензий. Если раньше поиск шел последовательно, то теперь система может пытаться захватить лицензии параллельно. На терминальных серверах это иногда приводит к тому, что первая сессия «захватывает» файл лицензии монопольно, если у пользователя недостаточно прав на чтение/запись в папку C:\ProgramData\1C\licenses.
Важный момент: Файл лицензии блокируется на уровне файловой системы Windows. Убедитесь, что для группы "Пользователи" на папку с лицензиями выданы права "Чтение и выполнение", "Список содержимого папки" и "Чтение". В некоторых случаях требуется право "Модификация", так как 1С может обновлять временные метки внутри файлов.
Разберем, где еще могут скрываться "хвосты" старых лицензий. Помимо основной папки в ProgramData, информация может дублироваться в профилях пользователей. Проанализируем следующие пути:
%AppData%\Local\1C\1cv8\conf%AppData%\Roaming\1C\1cv8\confПопробуем очистить содержимое этих папок (кроме самих файлов лицензий, если они там лежат). Это заставит платформу при следующем запуске заново определить параметры окружения.
Если сервер 1С развернут на виртуальной машине, проанализируем настройки гипервизора. Программная лицензия жестко привязана к характеристикам железа, включая MAC-адрес сетевой карты. Если в настройках виртуальной машины MAC-адрес установлен как Dynamic, то после перезагрузки сервера он может измениться. В этом случае лицензия станет невалидной.
Чтобы избежать этого, проверим и установим Static MAC address в настройках сетевого адаптера виртуальной машины. Если лицензия уже "слетела", потребуется повторная активация с использованием резервного пин-кода.
Если у вас есть несколько однопользовательских лицензий (например, 3 штуки по 1 рабочему месту), при следующей активации (например, при смене сервера или крупном обновлении) рекомендуется рассмотреть возможность их объединения. При активации можно ввести пин-код от одной лицензии, а затем добавить другие, чтобы получить один файл на 3 рабочих места. Это значительно упрощает администрирование и снижает вероятность конфликтов при распределении лицензий в RDP-сессиях.
Подводя итог, можно сказать, что проблема нехватки лицензий чаще всего кроется не в самой платформе, а в комбинации настроек прав доступа, зависших сессий и кэша старых версий 1С. Последовательная проверка прав на папку C:\ProgramData\1C\licenses и контроль RDP-сессий позволяют решить проблему в 90% случаев.