В процессе администрирования систем на базе 1С:Предприятие 8 системные администраторы часто сталкиваются с ситуацией, когда лицензии расходуются неэффективно. Типичный пример: при запуске 1С:ERP пользователь занимает одну лицензию на несколько открытых окон, а при запуске 1С:Документооборот (ДО) каждая новая сессия «съедает» отдельную лицензию. Рассмотрим подробнее, почему так происходит, и разберем по шагам, как настроить систему для максимально экономного использования аппаратных ключей HASP.
Для начала проанализируем ситуацию и выясним основную причину разного поведения информационных баз. В системе 1С существует два принципиально разных способа получения клиентской лицензии. От того, какой из них задействован, зависит логика подсчета:
Таким образом, если 1С:ERP тратит одну лицензию на много запусков, значит, клиент находит ее сам. Если 1С:Документооборот требует лицензию на каждый чих — ее выдает сервер. Наша задача — заставить клиентское приложение 1С:Документооборот забирать лицензию самостоятельно.
Проанализируем настройки базы в консоли администрирования 1С. Первым делом необходимо проверить параметр, отвечающий за раздачу лицензий сервером. Выполним следующие действия:
Разрешить выдачу лицензий сервером 1С:Предприятие.Важный нюанс: эта настройка будет эффективно работать только в том случае, если пользователи используют Тонкий клиент. Если доступ осуществляется через веб-браузер (веб-клиент) или мобильное приложение, сервер будет обязан выдать лицензию сам, так как эти клиенты не умеют работать с HASP-ключами напрямую. Если вы установите «Нет» и пользователь попытается зайти через браузер, он просто не получит лицензию и не сможет работать.
Выясним причину, по которой настройка «Нет» на сервере может «не помогать». Часто это происходит потому, что клиентское приложение не видит 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С и исключает ситуацию, когда клиент «теряет» ключ в сложной сетевой инфраструктуре.
Чтобы убедиться, что наши изменения принесли плоды, проанализируем текущее состояние сеансов. В консоли администрирования 1С выберем раздел Сеансы и внимательно изучим колонку Лицензия. Посмотрим на маркеры, которые там отображаются:
Рассмотрим ситуацию с использованием удаленных рабочих столов. Работа в режиме RDP имеет свои тонкости при использовании аппаратных ключей. По умолчанию, если лицензии раздает сервер 1С, каждый запуск базы в терминальной сессии будет считаться новой лицензией. Чтобы добиться экономии в RDP, необходимо:
nethasp.ini.Только в этом случае 1С сможет идентифицировать терминальную сессию и позволить пользователю открывать несколько баз (ERP, ДО, Бухгалтерия) в рамках одного RDP-сеанса, используя всего одну аппаратную лицензию.
Проанализировав проблему параллельного использования лицензий, мы пришли к выводу, что для достижения идеальной схемы «одна лицензия на все базы» необходимо перенести ответственность за получение лицензии с сервера на клиентское приложение.
Краткий чек-лист для проверки:
1С:Документооборот на сервере стоит Разрешить выдачу лицензий сервером: Нет.nethasp.ini на ПК пользователя, указав прямые IP-адреса серверов лицензирования.Следуя этим шагам, вы сможете оптимизировать использование аппаратных ресурсов и избежать неоправданных затрат на покупку дополнительных лицензий при одновременной работе пользователей в 1С:ERP и 1С:Документооборот.