Как решить проблему, когда 1С не видит программные лицензии при работе с файловой базой на RDP-сервере?

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

При развертывании инфраструктуры «1С:Предприятия» системные администраторы часто сталкиваются со следующей ситуацией: в организации настроены два сервера — один выполняет роль терминального сервера (RDP), а на втором развернута СУБД SQL и сервер «1С:Предприятия», на котором активированы программные лицензии. Если создавать базу в клиент-серверном режиме, всё работает корректно. Однако, если запустить файловую базу непосредственно на RDP-сервере, система выдает ошибку об отсутствии лицензии. Попытки прописать сетевой адрес сервера лицензирования в файле nethasp.ini не приносят результата. Выясним причину этой проблемы и рассмотрим подробнее, как правильно настроить инфраструктуру.

Почему настройка nethasp.ini не помогла?

Для начала проанализируем ситуацию и разберем ключевое различие в технологиях защиты «1С:Предприятия». Исторически в 1С использовались и продолжают использоваться два принципиально разных типа защиты:

  1. Аппаратные ключи (USB HASP) — физические USB-токены, для работы которых в сети действительно требуется служба HASP License Manager. Настройка сетевого доступа к таким ключам как раз и регулируется конфигурационным файлом nethasp.ini.
  2. Программные лицензии (файлы с расширением .lic) — это цифровые файлы защиты, которые жестко привязываются к ключевым характеристикам конкретного компьютера (материнская плата, процессор, сетевая карта, версия операционной системы и т.д.).

Важно понимать, что программные лицензии не используют протокол HASP. Файл nethasp.ini полностью игнорируется платформой при поиске программных лицензий. Платформа «1С:Предприятие» ищет файлы лицензий .lic исключительно в локальных каталогах той машины, на которой запущен сеанс пользователя (например, в директории C:\ProgramData\1C\licenses или в профиле пользователя AppData). Напрямую «по сети» забрать файл лицензии с другого компьютера файловая база не умеет и технически не может.

Рассмотрим по шагам три проверенных архитектурных решения, которые помогут исправить эту проблему и запустить файловую базу на RDP-сервере с использованием имеющихся лицензий.

Решение А: Перенос базы в клиент-серверный режим (Рекомендуемое решение)

Поскольку у вас уже развернуты и работают SQL-сервер и сервер приложений «1С:Предприятия», самым надежным и правильным решением будет отказ от файлового режима работы в пользу клиент-серверного.

Давайте разберем, как это решает проблему с лицензиями:

  1. При работе в клиент-серверном режиме клиентское приложение 1С на RDP-сервере не ищет лицензию на самом терминальном сервере.
  2. Оно обращается напрямую к серверу приложений «1С:Предприятия» на сервере SQL.
  3. Сервер приложений 1С, запущенный на соседнем сервере, самостоятельно берет лицензию из своего локального пула (где они у вас уже успешно активированы) и выдает ее клиенту на время сеанса.

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

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

Если базу по каким-то причинам критически важно оставить именно в файловом формате на RDP-сервере, то вам придется перенести программные лицензии на этот же RDP-сервер.

Для этого выполните следующие действия:

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

В результате успешной активации файл с расширением .lic запишется в общий системный каталог RDP-сервера: C:\ProgramData\1C\licenses. Теперь любой пользователь, зашедший в терминальную сессию, сможет беспрепятственно запускать файловую базу, так как платформа мгновенно обнаружит локальный файл лицензии.

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

Решение В: Публикация файловой базы через веб-сервер

Если вы не хотите переносить лицензии с сервера приложений 1С на RDP-сервер и при этом хотите оставить базу файловой, можно использовать механизм веб-публикации.

Разберем этот процесс по шагам:

  1. На сервере, где физически установлены программные лицензии, настройте веб-сервер (может использоваться Microsoft IIS или Apache).
  2. Опубликуйте файловую базу на веб-сервере с помощью платформы 1С.
  3. На RDP-сервере настройте подключение к этой базе по протоколу HTTP/HTTPS через Тонкий клиент или обычный браузер.

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

Важные правила работы с пин-кодами программных лицензий

При выполнении активации обязательно обратите внимание на тип используемых пин-кодов из вашего комплекта поставки 1С. В коробке (или в PDF-файле поставки) всегда присутствуют два вида кодов:

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

← На главную