При работе в терминальном режиме (RDP) системные администраторы часто сталкиваются с проблемой нерационального расхода лицензий. Типичная ситуация: бухгалтер запускает «1С:Бухгалтерию», «1С:Зарплату и управление персоналом» и «1С:Управление торговлей» в рамках одной сессии, и система списывает три лицензии вместо одной. Рассмотрим подробнее, почему это происходит и как настроить систему так, чтобы лицензии расходовались оптимально, совмещая аппаратные ключи HASP и электронные (программные) лицензии.
Прежде всего, проанализируем механизм выдачи лицензий. В среде 1С существует два принципиально разных способа получения программной лицензии:
Проанализируем ситуацию: если у вас уже есть 20 электронных лицензий, покупка HASP-ключа на 5 пользователей может быть избыточной. Самый простой способ заставить программные лицензии работать по принципу «одна сессия — одна лицензия» — это изменить место их активации.
Разберем по шагам, как это сделать:
Разрешить выдачу лицензий сервером 1С:Предприятия в значение Нет.После этих действий программная лицензия будет захватываться один раз на всю RDP-сессию пользователя, независимо от количества запущенных баз 1С.
Если вы все же решили использовать 5-пользовательский HASP-ключ для бухгалтеров, а остальные должны работать на электронных лицензиях, нам потребуется тонкая настройка. По умолчанию 1С ищет лицензии в строго определенном порядке: локальный HASP, сетевой HASP, локальная программная лицензия, серверная программная лицензия.
Рассмотрим, как разделить пользователей с помощью параметров запуска. Для ярлыков бухгалтеров мы можем принудительно включить поиск аппаратного ключа, а для остальных — выключить его, чтобы ускорить запуск программы.
Используйте следующие ключи в строке запуска (поле «Дополнительные параметры запуска»):
/UseHwLicenses+ — принудительный поиск аппаратного ключа защиты./UseHwLicenses- — полный запрет поиска аппаратных ключей.Проблема в том, что файл nethasp.ini, находящийся в папке conf каталога установки 1С, является общим для всех. Однако мы можем переопределить настройки для конкретных сотрудников. Рассмотрим два способа:
Способ А: Переменные окружения
Мы можем создать для определенных пользователей Windows переменную среды HASP_CONFIG. В значении переменной укажем путь к индивидуальному файлу настроек. Проанализируем пример:
C:\1C_Settings\buh_nethasp.ini.HASP_CONFIG = C:\1C_Settings\buh_nethasp.ini.Способ Б: Размещение файла в профиле пользователя
Платформа 1С ищет настройки в следующем порядке: текущий каталог запуска, каталог пользователя Windows, каталог conf. Разместив правильно настроенный nethasp.ini в папку %AppData%\1C\1CEStart\, мы добьемся того, что именно этот файл будет приоритетным для конкретного человека.
Посмотрим на пример правильной настройки файла nethasp.ini, чтобы избежать длительного поиска ключа (broadcast-запросов), которые часто «вешают» систему при запуске:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
;; Указываем конкретный IP-адрес машины, где стоит HASP License Manager
NH_SERVER_ADDR = 192.168.1.50
;; Отключаем широковещательный поиск
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = TCP_IP
Если нам нужно, чтобы 1С вообще не искала HASP-ключи (для пользователей на электронных лицензиях), пропишем в их конфигурационном файле:
[NH_COMMON]
NH_TCPIP = Disabled
Проанализируем ситуацию с публикацией баз на веб-сервере (IIS или Apache). Важно помнить: если вы перейдете на использование баз через браузер (веб-клиент), то лицензии всегда будет раздавать либо сервер 1С, либо модуль расширения веб-сервера. В этом случае экономия «одна сессия — одна лицензия» перестает работать, так как веб-сервер не видит терминальную сессию пользователя.
Также отметим бонус от переноса программных лицензий на RDP-сервер: в этом случае пользователи смогут запускать не только клиент-серверные, но и локальные (файловые) базы, используя те же самые лицензии, что невозможно, когда лицензии «заперты» внутри сервера 1С:Предприятия.
Резюмируем: Совместное использование возможно. Оптимальный путь — либо перенос всех лицензий на терминальный сервер (что бесплатно и решает проблему), либо использование ключа запуска /UseHwLicenses в сочетании с индивидуальными файлами nethasp.ini для разделения потоков пользователей между USB-ключом и электронными лицензиями.