Почему не хватает программных лицензий 1С в терминальном режиме при файловой базе?

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

Ситуация, когда при наличии достаточного количества купленных лицензий один из пользователей не может войти в систему, является классической для терминальных серверов. Особенно остро она проявляется в связке RDP + файловый режим работы. Рассмотрим подробно причины возникновения этой проблемы и разберем по шагам методы диагностики и решения.

1. Анализ "зависших" и отключенных RDP-сессий

Проанализируем самый распространенный сценарий. Пользователь, закончив работу, нажимает на "крестик" окна терминального подключения, а не завершает сеанс через "Пуск — Выход". В этом случае сессия переходит в состояние Disconnected (Отключена). Процесс 1cv8.exe продолжает выполняться на сервере и удерживать лицензию.

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

2. Подсчет процессов 1cv8.exe на одного пользователя

Рассмотрим специфику расхода лицензий в файловом режиме. В отличие от клиент-серверного варианта, где лицензии может раздавать сервер 1С, в файловом режиме лицензию берет само клиентское приложение. Проанализируем ситуацию: если бухгалтер в рамках одной RDP-сессии открыл две разные базы (например, "Бухгалтерия" и "Зарплата") или запустил "Предприятие" и "Конфигуратор", система может захватить две лицензии.

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

3. Проблема некорректного закрытия приложения

Разберем случай, когда пользователь корректно вышел из 1С, но процесс "завис". Бывает, что после закрытия видимого окна программы процесс 1cv8.exe остается в памяти (например, из-за долгого завершения фоновых потоков или сбоя при выгрузке COM-объектов). Пока процесс висит в списке задач, лицензия считается занятой.

Для диагностики выполним следующие действия в "Диспетчере задач" сервера:

  1. Перейдем на вкладку "Подробности".
  2. Отсортируем список по имени процесса 1cv8.exe.
  3. Добавим колонку "Имя пользователя".
  4. Сравним количество запущенных процессов с реальным количеством работающих людей.

Если процессов больше, чем активных пользователей, мы нашли "утечку" лицензий.

4. Диагностика в условиях отсутствия Консоли сервера

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

Перейдем в раздел "Администрирование" — "Обслуживание" — "Журнал регистрации". Установим отбор по событию "Сеанс. Начало" и "Сеанс. Завершение". Проанализируем временные интервалы. Если для пользователя зафиксирован вход, но нет события выхода в течение длительного времени (несколько дней), это явный признак зависшего соединения. Также стоит обратить внимание на колонку "Компьютер" и "Сеанс", чтобы идентифицировать источник захвата лицензии.

5. Особенности поиска файлов лицензий (.lic)

Проанализируем механизм поиска лицензий платформой. В терминальном режиме 1С ищет файлы программных лицензий в определенных папках. Основная папка для всех пользователей: C:\ProgramData\1C\licenses.

Иногда возникают конфликты прав доступа. Если файл лицензии был захвачен антивирусом для сканирования или права на папку настроены некорректно, 1С может выдать ошибку о нехватке лицензий, хотя свободные места есть. Убедитесь, что у группы "Пользователи" (или конкретных пользователей терминала) есть права на чтение файлов в этой директории. Рассмотрим также файл conf.cfg в каталоге установки платформы (например, C:\Program Files\1cv8\conf). Убедимся, что параметр AllowSystemLicensing установлен в значение 1, что критически важно для корректной работы в RDP.

6. Влияние фоновых заданий в файловом режиме

Выясним, как регламентные задания влияют на расход лицензий. В файловой базе регламентные задания выполняются либо в специальном выделенном сеансе, либо в контексте первого зашедшего пользователя. Если в базе настроены интенсивные фоновые процессы (обмен данными, загрузка курсов, рассылка уведомлений), система может инициировать скрытый сеанс, который "съест" седьмую лицензию именно в тот момент, когда бухгалтер пытается зайти после обеда.

Проанализируем список активных пользователей непосредственно в базе через меню "Обслуживание" — "Активные пользователи". Если вы видите в списке пользователя с типом соединения "Фоновое задание", значит, причина найдена.

7. Практические советы по исправлению

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

  1. Настройка таймаутов RDP: В групповых политиках сервера (gpedit.msc) установим ограничение по времени для отключенных сеансов. Например, если сессия находится в статусе Disconnected более 30 минут, она должна завершаться автоматически.
  2. Приоритет лицензирования: Если на сервере или локальных машинах присутствуют USB-ключи (HASP), пропишем в файле nnhasp.ini запрет на поиск сетевых ключей, если мы используем только программные, чтобы ускорить процесс запуска и избежать конфликтов.
  3. Очистка кэша: Иногда информация о занятой лицензии может "залипнуть" в локальном кэше пользователя. Очистите папку %AppData%\1C\1cv8 для проблемного пользователя.

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

← На главную