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

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

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

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

Причина проблемы: разница между лицензией «на компьютер» и «на сеанс»

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

  1. Клиентским приложением самостоятельно: В этом случае 1С ищет лицензию локально (на компьютере пользователя) — это может быть программная лицензия, активированная на данный ПК, или аппаратный USB-ключ. При такой схеме лицензия выдается на компьютер. Один пользователь может запустить хоть 10 баз, и будет занята всего 1 лицензия.
  2. Через сервер 1С:Предприятия: Если клиентское приложение не нашло лицензию локально, оно запрашивает её у сервера. Сервер выдает лицензию из своего общего списка активированных многопользовательских ключей. При такой схеме лицензия выдается на сеанс. Каждый запуск базы — это новый сеанс, а значит, минус одна лицензия из пула.

Рассмотрим подробнее способы решения этой проблемы.

Решение 1: Использование аппаратных USB-ключей и HASP License Manager

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

Разберем по шагам, как настроить эту схему:

  1. Установим USB-ключ в один из серверов в сети.
  2. Запустим на этом сервере службу HASP License Manager.
  3. На рабочих станциях пользователей в файле nethasp.ini (который обычно находится в папке C:\Program Files\1cv8\conf или в папке с версией платформы) настроим прямой поиск ключа.

Проанализируем пример настройки секции [NH_COMMON] и [NH_TCPIP] в файле nethasp.ini:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; IP-адрес сервера с USB-ключом
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled

Такая настройка заставит 1С искать лицензию на конкретном сервере, минуя широковещательные запросы, что ускорит запуск и гарантирует получение лицензии именно «на компьютер».

Решение 2: Активация программных лицензий как однопользовательских

Если вы приобрели комплект программных лицензий (например, на 5, 10 или 20 рабочих мест), у вас есть выбор при активации. Комплект поставляется с набором пин-кодов для однопользовательского использования и одним пин-кодом для многопользовательского использования.

Чтобы сэкономить лицензии, мы можем пойти путем локальной активации:

Важный нюанс: Этот способ неудобен в администрировании, если компьютеров очень много, так как при замене железа или переустановке ОС лицензию придется активировать заново, тратя резервные пин-коды.

Решение 3: Оптимизация работы на терминальном сервере (RDP)

Если ваши пользователи работают через удаленный рабочий стол, существует эффективный способ заставить программные лицензии работать по принципу «одна сессия — одна лицензия».

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

Алгоритм действий:

  1. Зайдите на терминальный сервер под учетной записью администратора.
  2. Запустите 1С в режиме «Конфигуратор».
  3. Выберите «Получить лицензию» и введите пин-код многопользовательской лицензии.
  4. В мастере активации обязательно укажите, что лицензия устанавливается «На этот компьютер» (для всех пользователей данного сервера).

После этого, когда пользователь зайдет в свою RDP-сессию и откроет пять баз, система найдет лицензию на терминальном сервере и использует всего одну единицу из общего объема ключа.

Решение 4: Отключение раздачи лицензий сервером 1С

Если вы хотите жестко контролировать, чтобы пользователи не «воровали» лицензии у сервера, а использовали только свои локальные или USB-ключи, можно программно запретить серверу выдавать лицензии для конкретной базы.

Рассмотрим, как это сделать в консоли администрирования кластера:

  1. Откройте «Администрирование серверов 1С Предприятия».
  2. Найдите нужную информационную базу в списке.
  3. Откройте её свойства.
  4. Найдите параметр «Разрешить выдачу лицензий сервером 1С:Предприятия».
  5. Установите значение «Нет».

После этой настройки база просто не запустится, если у пользователя нет локального ключа или доступа к HASP License Manager. Это отличный способ принудительно перевести «прожорливых» пользователей на экономичную схему работы.

Нюансы работы с веб-клиентом и виртуализацией

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

Что касается виртуальных машин, помните: программная лицензия «привязывается» к параметрам железа (CPU, RAM, MAC-адрес, ID диска). В виртуальной среде эти параметры могут меняться динамически. Чтобы лицензия не «слетала», рекомендуется:

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

← На главную