Почему локальные файловые базы 1С требуют лицензию, если на сервере установлены программные ключи?

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

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

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

Анализ проблемы: почему файловая база «не видит» лицензии с сервера

Для того чтобы понять суть проблемы, нам необходимо детально изучить архитектуру взаимодействия платформы «1С» с лицензиями в различных режимах работы. Существует два принципиально разных режима запуска баз данных: клиент-серверный и локальный (файловый).

Когда вы запускаете базу данных, которая развернута на сервере приложений «1С:Предприятие», запуск происходит по следующей схеме:

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

В этой схеме вашему локальному компьютеру физически не требуется иметь установленный ключ защиты или файл лицензии — всю работу по обеспечению сеанса лицензией берет на себя сервер.

Совсем иначе обстоит дело, когда вы запускаете локальную файловую базу, расположенную на вашем жестком диске (например, в папке C:\MyBases\DemoKA). В этом сценарии сервер приложений «1С» вообще не участвует в процессе. Платформа запускается локально и выполняет поиск лицензии на вашем персональном компьютере по строго определенному алгоритму.

Алгоритм поиска программных лицензий платформой 1С

Давайте по шагам разберем, как именно локальный клиент «1С» пытается найти программную лицензию (файл с расширением .lic) при запуске файловой базы:

  1. Проверка каталога предыдущего успешного запуска. Платформа проверяет кэш и пытается найти лицензию там, откуда она была успешно получена в прошлый раз.
  2. Поиск в локальных каталогах профиля пользователя. Платформа сканирует системные папки текущего пользователя Windows. Обычно это пути:
    • %APPDATA%\1C\1Cv8\
    • %APPDATA%\1C\licenses\
  3. Поиск в общих каталогах компьютера. Если в профиле пользователя лицензия не найдена, сканируются каталоги, доступные всем пользователям данного ПК:
    • %ProgramData%\1C\licenses\
    • Каталог установленной платформы (например, C:\Program Files\1cv8\conf\).
  4. Поиск локального USB-ключа. Платформа обращается к драйверу защиты HASP для поиска установленного в USB-порт локального однопользовательского ключа (синего цвета).
  5. Поиск сетевого HASP-ключа. Выполняется опрос сети через службу HASP License Manager.

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

Заблуждение об использовании HASP License Manager для программных лицензий

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

Файл конфигурации nnhasp.ini и сопутствующая утилита HASP License Manager предназначены исключительно для работы с аппаратными USB-ключами защиты (сетевыми красными ключами HASP). Пример типичной настройки такого файла выглядит так:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100
NH_PORT_NUM = 475
NH_TCPIP_METHOD = UDP

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

Практические варианты решения проблемы

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

Вариант 1. Перенос файловых баз на сервер «1С» (Решение автора темы)

Это самый очевидный и быстрый способ, если у вас уже развернут и функционирует сервер «1С:Предприятие». Если вы перенесете демонстрационную базу или базу «1С:Конвертация данных» на сервер (сделаете их клиент-серверными под управлением СУБД MS SQL, PostgreSQL и др.), то сервер «1С» начнет самостоятельно выдавать им программные лицензии из своего общего пула.

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

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

Вариант 2. Публикация файловой базы на веб-сервере (Решение без СУБД)

Если вы не хотите нагружать SQL-сервер демонстрационными или вспомогательными базами, существует отличная альтернатива — публикация файловой базы на веб-сервере (Apache или IIS). Этот способ позволяет сохранить базу в файловом формате, но при этом задействовать серверные лицензии.

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

  1. На том сервере, где физически установлены программные лицензии «1С», установите бесплатный веб-сервер Apache или настройте встроенный IIS.
  2. Запустите Конфигуратор локальной файловой базы от имени администратора непосредственно на сервере.
  3. Перейдите в меню Администрирование — Публикация на веб-сервере....
  4. Укажите имя публикации, выберите веб-сервер и нажмите кнопку Опубликовать. При необходимости платформа сама предложит перезапустить службу веб-сервера.
  5. На локальном компьютере пользователя в окне запуска «1С» добавьте новую базу, выбрав тип подключения На веб-сервере, и укажите ссылку вида http://имя_сервера/имя_публикации.

При таком подключении модуль веб-сервера «1С», запущенный на сервере, будет обращаться к локальным программным лицензиям сервера и передавать лицензию вашему тонкому клиенту по протоколу HTTP/HTTPS.

Вариант 3. Использование бесплатной Лицензии для разработчиков

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

Преимущества этого решения:

Для ее получения достаточно зарегистрироваться на портале разработчиков «1С» (программа комьюнити-лицензий), скачать дистрибутив и получить бесплатный пин-код для активации лицензии на своей рабочей машине.

Вариант 4. Активация неиспользованного пин-кода из комплекта

Проанализируем комплектацию программных лицензий «1С». Если ваша организация приобретала многопользовательскую программную лицензию (например, на 5, 10 или 20 рабочих мест), обратите внимание на регистрационную карточку с пин-кодами. В комплекте всегда идут два типа пин-кодов:

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

Вариант 5. Использование терминального сервера (RDP)

Если сервер, на котором установлены программные лицензии, дополнительно выполняет роль сервера терминалов (на нем развернута служба Remote Desktop Services), вы можете настроить работу пользователей в режиме RDP:

Резюме

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

← На главную