Ситуация, когда при попытке входа в 1С система выдает ошибку «Превышено максимальное количество пользователей», крайне распространена в организациях, использующих терминальные серверы (RDP) и программные лицензии. Особенно остро проблема проявляется, когда количество закупленных лицензий ограничено, а пользователи работают в файловом режиме. В данной статье мы подробно разберем, как продиагностировать эту проблему, найти «виновника» и настроить систему так, чтобы лицензии расходовались корректно.
Проанализируем механику работы программных лицензий. В отличие от аппаратных ключей HASP, программная лицензия привязывается к параметрам компьютера. В режиме удаленного рабочего стола (RDP) система управления лицензиями 1С считает каждую сессию или даже каждый запущенный процесс 1cv8.exe отдельно. Рассмотрим типичный сценарий: у вас активированы две однопользовательские лицензии на одном сервере. По логике, работать должны два человека. Однако, если один из них некорректно завершил работу или система запустила фоновое задание, лицензия останется «занятой», и второй легитимный пользователь получить доступ не сможет.
Выясним причину нехватки лицензий самым простым и эффективным способом. Как показывает практика (и сообщения в обсуждении), часто клиент уверен, что работают двое, а на самом деле в системе «висит» кто-то третий. Выполним следующие действия:
1cv8.exe или 1cv8c.exe.Проанализируем ситуацию: если у вас две лицензии, а в списке три процесса 1cv8.exe, значит, кто-то занимает лишнее место. Это может быть «спящая» сессия пользователя, который просто закрыл окно терминала крестиком, не выходя из 1С. В этом случае сессия остается активной, и процесс продолжает удерживать лицензию. Рекомендуем принудительно завершить такие «зависшие» процессы.
Рассмотрим подробнее технический аспект хранения лицензий. Файлы программных лицензий имеют расширение .lic. Для того чтобы они были доступны всем пользователям терминального сервера, они должны находиться в общедоступном каталоге. Если лицензия была активирована в профиль конкретного пользователя (например, в папку AppData), другие пользователи ее не «увидят».
Проверим наличие файлов по следующим путям:
C:\ProgramData\1C\licenses (Рекомендуемый путь)C:\All Users\Application Data\1C\licensesЕсли вы обнаружили, что файлы лицензий находятся в папках пользователей (например, C:\Users\ИмяПользователя\AppData\...), переместим их в общий каталог ProgramData\1C\licenses. После перемещения иногда требуется перезапуск службы 1С (если используется серверный вариант) или просто перезапуск клиентских приложений.
Для более глубокого анализа состояния лицензий воспользуемся специализированным инструментом от фирмы 1С — утилитой ring. Она позволяет проверить, какие лицензии установлены в системе и к каким параметрам оборудования они привязаны. Это особенно полезно после обновлений Windows, которые могут изменить идентификаторы системы, из-за чего лицензии «слетают».
Рассмотрим пример команды для получения списка установленных лицензий:
ring license list
Или для получения детальной информации о конкретной лицензии:
ring license info --name <Имя_файла_лицензии>
Проанализируем вывод утилиты. Если статус лицензии не подтвержден или она не видна в списке, значит, произошло изменение ключевых параметров компьютера (имя ПК, серийный номер материнской платы, версия ОС). В этом случае поможет только повторная активация с использованием резервного пин-кода.
Выясним, почему лицензия может расходоваться, даже если «живых» пользователей в базе мало. В современных конфигурациях 1С (на базе БСП) активно используются РегламентныеЗадания. В файловом режиме для выполнения этих заданий платформа может автоматически запускать отдельный невидимый процесс. Этот процесс также потребляет одну лицензию.
Чтобы избежать этой проблемы в условиях жесткого дефицита лицензий, можно временно отключить выполнение фоновых заданий в настройках информационной базы. Однако правильным решением будет покупка дополнительной лицензии «с запасом» на такие системные нужды.
Если ваша база опубликована через Apache или IIS, ситуация усложняется. Пользователи могут просто закрывать вкладку браузера, но веб-сервер продолжает удерживать сессию еще 15–20 минут (согласно тайм-ауту). Посмотрим на пример настройки файла default.vrd, где можно сократить время жизни неактивной сессии:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
base="/BaseName"
ib="Connect='Srvr=ServerName;Ref=BaseName;'">
<httpServices>
<!-- Настройки таймаута сессий -->
<sessionMaxAge>300</sessionMaxAge>
</httpServices>
</point>
Установка параметра sessionMaxAge в меньшее значение позволит быстрее освобождать лицензии для других сотрудников.
Если вы столкнулись с ошибкой превышения количества пользователей, не спешите переустанавливать программу. В 90% случаев решение кроется в диспетчере задач. Убедитесь, что нет лишних процессов 1cv8.exe от старых сессий. Если процессы в норме, используйте утилиту ring для проверки валидности лицензий после обновлений Windows и убедитесь, что файлы .lic лежат в общей папке ProgramData. Эти шаги позволят вам быстро вернуть работоспособность системы и избежать простоев в работе бухгалтерии.