Как настроить экономное использование аппаратных лицензий 1С при работе с несколькими базами (ERP и Документооборот)?

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

В процессе администрирования систем на базе 1С:Предприятие 8 системные администраторы часто сталкиваются с ситуацией, когда лицензии расходуются неэффективно. Типичный пример: при запуске 1С:ERP пользователь занимает одну лицензию на несколько открытых окон, а при запуске 1С:Документооборот (ДО) каждая новая сессия «съедает» отдельную лицензию. Рассмотрим подробнее, почему так происходит, и разберем по шагам, как настроить систему для максимально экономного использования аппаратных ключей HASP.

Разберем механизмы подсчета лицензий: Клиент vs Сервер

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

  1. Лицензию берет клиентское приложение (Тонкий или Толстый клиент): В этом сценарии клиент 1С самостоятельно ищет аппаратный ключ в локальной сети через HASP License Manager. Здесь действует «золотое правило» экономии: одна лицензия на одно рабочее место (компьютер). Это означает, что пользователь может открыть хоть десять разных баз или десять окон одной базы, но в ключе будет занята всего одна единица.
  2. Лицензию выдает сервер «1С:Предприятия»: Если клиент по каким-то причинам не смог найти лицензию самостоятельно (или это веб-клиент), сервер 1С берет лицензию из ключа, доступного ему самому, и «отдает» ее конкретной сессии. В этом случае действует правило: одна лицензия на одну сессию. Каждый новый запуск окна — это минус одна лицензия из общего пула, даже если все окна запущены на одном ПК.

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

Шаг 1. Настройка параметров информационной базы на сервере

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

  1. Откроем Консоль администрирования серверов 1С:Предприятия.
  2. Перейдем в список информационных баз и выберем нужную (в нашем случае — Документооборот).
  3. В свойствах базы найдем параметр Разрешить выдачу лицензий сервером 1С:Предприятие.
  4. Установим значение Нет.

Важный нюанс: эта настройка будет эффективно работать только в том случае, если пользователи используют Тонкий клиент. Если доступ осуществляется через веб-браузер (веб-клиент) или мобильное приложение, сервер будет обязан выдать лицензию сам, так как эти клиенты не умеют работать с HASP-ключами напрямую. Если вы установите «Нет» и пользователь попытается зайти через браузер, он просто не получит лицензию и не сможет работать.

Шаг 2. Настройка поиска ключей на стороне клиента (nethasp.ini)

Выясним причину, по которой настройка «Нет» на сервере может «не помогать». Часто это происходит потому, что клиентское приложение не видит HASP License Manager из-за сетевых ограничений или особенностей широковещательных запросов (broadcast). Если в сети установлено несколько серверов с ключами (например, 4 сервера по 50 лицензий), клиенты могут конфликтовать при поиске.

Для решения этой проблемы мы рекомендуем жестко прописать адреса серверов лицензирования в файле nethasp.ini на рабочих станциях пользователей. Рассмотрим пример настройки секции [NH_TCPIP]:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.11, 192.168.1.12, 192.168.1.13
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = TCP

В параметре NH_SERVER_ADDR укажем IP-адреса всех четырех серверов, где физически установлены аппаратные ключи. Отключение широковещательного опроса (NH_USE_BROADCAST = Disabled) значительно ускоряет запуск 1С и исключает ситуацию, когда клиент «теряет» ключ в сложной сетевой инфраструктуре.

Шаг 3. Диагностика через консоль администрирования

Чтобы убедиться, что наши изменения принесли плоды, проанализируем текущее состояние сеансов. В консоли администрирования 1С выберем раздел Сеансы и внимательно изучим колонку Лицензия. Посмотрим на маркеры, которые там отображаются:

Особенности работы в терминальном режиме (RDP)

Рассмотрим ситуацию с использованием удаленных рабочих столов. Работа в режиме RDP имеет свои тонкости при использовании аппаратных ключей. По умолчанию, если лицензии раздает сервер 1С, каждый запуск базы в терминальной сессии будет считаться новой лицензией. Чтобы добиться экономии в RDP, необходимо:

  1. Убедиться, что на терминальном сервере установлен и запущен HASP License Manager (если ключи вставлены в него) или клиент настроен на сетевой ключ через nethasp.ini.
  2. В настройках баз 1С отключить раздачу лицензий сервером.

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

Резюме и рекомендации

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

Краткий чек-лист для проверки:

  1. Убедитесь, что используется именно Тонкий клиент.
  2. Проверьте, что в свойствах базы 1С:Документооборот на сервере стоит Разрешить выдачу лицензий сервером: Нет.
  3. Настройте файл nethasp.ini на ПК пользователя, указав прямые IP-адреса серверов лицензирования.
  4. Проконтролируйте через консоль 1С, чтобы в типе лицензии у пользователей не значился Сервер.

Следуя этим шагам, вы сможете оптимизировать использование аппаратных ресурсов и избежать неоправданных затрат на покупку дополнительных лицензий при одновременной работе пользователей в 1С:ERP и 1С:Документооборот.

← На главную