Не обнаружено свободной лицензии в 1С: как решить проблему нехватки лицензий на терминальном сервере

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

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

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

Выясняем причину: как расходуются лицензии в системе 1С

Для начала проанализируем ситуацию, которая часто складывается в небольших компаниях. Типичная инфраструктура: развернут терминальный сервер (подключение по RDP), на котором установлена база данных 1С (например, 1С:Бухгалтерия 3.0) и используется связка из клиент-серверного варианта работы на базе СУБД под управлением Сервера МИНИ на 5 подключений. Также куплен комплект программных клиентских лицензий на 5 пользователей.

Когда один из сотрудников пытается запустить четвертый сеанс, система выдает ошибку. Чтобы понять, почему это происходит, нам необходимо четко разграничить два понятия:

  1. Серверная лицензия (в данном случае Сервер МИНИ). Это лицензия, которая дает право на запуск самого сервера 1С:Предприятия (процессов ragent, rmngr, rphost). Сервер МИНИ имеет жесткое технологическое ограничение — на нем одновременно может быть запущено не более 5 сеансов пользователей в режиме предприятия и 1 сеанс в режиме конфигуратора. Эта лицензия сама по себе не заменяет клиентские лицензии пользователей!
  2. Клиентские пользовательские лицензии. Это те самые файлы с расширением .lic (или аппаратные USB-ключи HASP), которые дают право конкретному пользователю или компьютеру запустить клиентское приложение 1С (тонкий, толстый или веб-клиент).

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

Два механизма раздачи лицензий: Сервер vs Клиент

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

Вариант 1. Выдача лицензий сервером (параметр установлен в значение «Да»)

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

Важное ограничение: При выдаче лицензий сервером действует жесткое правило — «одна лицензия на один сеанс». Это означает, что если один и тот же бухгалтер в рамках своей RDP-сессии захочет запустить одновременно три разные информационные базы (например, «Бухгалтерия предприятия», «Зарплата и управление персоналом» и тестовую копию), сервер 1С заберет из общего пула целых три клиентские лицензии! В результате при наличии пакета на 5 пользователей один человек может легко израсходовать большую часть доступного лимита, а коллеги просто не смогут войти в систему.

Вариант 2. Локальное получение лицензий клиентом (параметр установлен в значение «Нет»)

Если мы запрещаем серверу раздавать лицензии, задача их поиска полностью перекладывается на плечи клиентского приложения. Так как мы рассматриваем работу пользователей в терминальном режиме (RDP), конфигуратор или тонкий клиент фактически запускаются непосредственно на самом терминальном сервере.

При запуске клиентское приложение обращается к локальным ресурсам сервера и ищет файлы лицензий в общей папке C:\ProgramData\1C\licenses. При таком сценарии на терминальном сервере начинает действовать экономное правило — «одна лицензия на одного пользователя ОС (сеанс RDP)». Это означает, что один пользователь внутри своего терминального подключения может открыть хоть пять окон 1С и запустить разные базы — система израсходует всего одну клиентскую лицензию на его сеанс. Это ключевой момент, который позволяет радикально снизить потребление лицензий.

Пошаговая инструкция по исправлению проблемы

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

Шаг 1. Отключение выдачи лицензий сервером в консоли кластера

Переведем наши базы данных в режим выдачи лицензий клиентом. Для этого выполним следующие действия:

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

После этого клиентские приложения перестанут запрашивать лицензии у сервера 1С и начнут искать их локально в операционной системе терминала.

Шаг 2. Проверка расположения и суммирования файлов лицензий

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

Когда вы активируете однопользовательские лицензии по отдельности (например, у вас было 3 лицензии, потом докупили еще 2, затем еще 1), они должны суммироваться в единый пул. Это происходит автоматически, если соблюдать два правила:

В этом случае файлы с расширением .lic будут сохранены в общую системную папку. Давайте проверим это. Перейдем по пути:

C:\ProgramData\1C\licenses

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

%APPDATA%\1C\1Cv8\licenses (или аналогичный путь в профиле пользователя)

Файлы из личных папок будут недоступны другим пользователям терминала. Перенесите их в общую папку C:\ProgramData\1C\licenses, чтобы система могла их успешно суммировать.

Шаг 3. Анализ проблем с привязкой и переименованием сервера

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

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

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

Ниже приведен пример лога неудачного поиска лицензии, который можно увидеть при детальном анализе:


Локальный поиск лицензий:
Файл лицензии C:\ProgramData\1C\licenses\20180919.lic - Нарушена привязка к компьютеру! (Изменилось имя компьютера с WIN-0C48LTCQO1U на SERVER1C)
Файл лицензии C:\ProgramData\1C\licenses\20200123.lic - Успешно проверен на SERVER1C
Сетевой поиск в локальной сети:
Ключи защиты HASP не обнаружены.
Поиск на сервере 1С:Предприятия:
Выдача лицензий сервером запрещена пользователем.

Из этого примера видно, что старая лицензия от 2018 года заблокирована платформой, так как имя компьютера изменилось. Нам необходимо выполнить процедуру восстановления (переактивации) поврежденных ключей.

Шаг 4. Правильное восстановление программных лицензий

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

  1. В главном меню перейдем по пути: Сервис — Получение лицензии.
  2. В открывшемся окне введем регистрационный номер нашего программного продукта и пин-код, который использовался ранее.
  3. Выберите операцию «Восстановление».
  4. Внимание! На этапе ввода пин-кода снимите галочку «Является ли этот компьютер сервером 1С:Предприятия», если вы получаете клиентскую лицензию. Введите резервный пин-код из вашего комплекта поставки.
  5. На следующем шаге внимательно сверьте личные данные организации. Они должны совпадать символ в символ с теми данными, которые вводились при самой первой активации. Если данные будут отличаться хотя бы на один знак (например, сокращение «ООО» вместо «Общество с ограниченной ответственностью»), центр лицензирования откажет в выдаче ключа.
  6. Завершите процесс активации. Новый файл лицензии будет сохранен на сервере с привязкой к его актуальному имени SERVER1C.

После успешной активации всех поврежденных ключей обязательно зайдите в папку C:\ProgramData\1C\licenses и удалите (или перенесите во временную папку-архив) старые файлы лицензий, у которых нарушена привязка, чтобы они не вызывали путаницу в системе.

Что делать, если закончились резервные пин-коды?

При частых экспериментах с настройками сервера или изменениях оборудования резервные пин-коды из коробки могут закончиться. Не поддавайтесь панике — вам не придется покупать новые лицензии.

Для получения дополнительных пин-кодов отправьте электронное письмо в Центр лицензирования 1С по адресу lic@1c.ru. В письме обязательно укажите:

Техническая поддержка оперативно обработает ваш запрос и вышлет новые пин-коды для продолжения работы.

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

← На главную