При администрировании систем 1С часто возникает необходимость переноса информационной базы с одного рабочего места на другое, например, при переезде с локального компьютера на терминальный сервер. В процессе активации программных лицензий специалисты нередко сталкиваются с загадочным поведением системы: лицензия может «двоиться», работать по очереди или внезапно блокироваться после обновления платформы. В данной статье мы подробно разберем механизмы контроля программных лицензий 1С, выясним, почему старые версии платформы лояльнее к нарушениям, и проанализируем алгоритм действий для корректного переноса программного ключа.
Для начала проанализируем, как устроена программная защита 1С:Предприятие. Однопользовательская лицензия (например, из комплекта поставки «1С:Управление торговлей 11») содержит основной пин-код и несколько резервных. Рассмотрим основные правила их использования:
Разберем ситуацию, когда пользователю удается запустить программу на двух разных компьютерах, используя разные пин-коды из одного конверта. Технически 1С позволяет активировать резервный код на новой машине, так как она не знает в момент активации, продолжает ли работать старая. Проверка происходит позже, в процессе эксплуатации.
Одной из ключевых причин, по которой конфликт не проявляется мгновенно, является версия используемой платформы 1С:Предприятие. Выясним, почему переход с версии 8.3.11 на 8.3.12 и выше часто становится триггером для появления ошибки «Продукт допускает одновременное использование не более 1 пин-кодов».
Начиная с версии 8.3.12, фирма «1С» существенно ужесточила механизмы контроля лицензионной чистоты. Рассмотрим, что изменилось:
Программная лицензия представляет собой файл с расширением .lic. Посмотрим на типовые пути размещения этих файлов, которые анализирует платформа при запуске:
C:\ProgramData\1C\licenses — общая папка для всех пользователей (рекомендуемое место).%AppData%\1C\1CEStart\1cv8conn.pfl — файлы настроек и пути к лицензиям.conf в каталоге установки самой платформы.Проанализируем ситуацию: если при переносе лицензии на сервер файл был создан в профиле администратора, а на старом компьютере он лежал в ProgramData, то при работе под разными учетными записями или через разные протоколы (RDP vs локальный вход) платформа может видеть разные наборы данных. Однако при обновлении платформы происходит переиндексация доступных лицензий, и скрытый конфликт становится явным.
Работа с однопользовательской лицензией в терминальном режиме имеет свои особенности. Рассмотрим их подробнее:
Если вы активируете однопользовательскую лицензию из основной поставки на терминальном сервере, помните: такая лицензия не является многопользовательской. Она позволяет запустить неограниченное количество сессий 1С, но только для одного и того же терминального пользователя. Если второй пользователь попытается зайти под своей учетной записью, система не найдет свободную лицензию.
Именно поэтому часто возникает путаница: системные администраторы пытаются «доактивировать» второй пин-код на том же сервере для второго пользователя, что является прямым нарушением лицензионного соглашения и приводит к блокировке обоих кодов, как только платформа проводит сверку в Центре Лицензирования.
Если вы столкнулись с ошибкой ограничения количества пин-кодов, выполним следующие шаги для восстановления работоспособности:
Необходимо удалить все файлы .lic, которые относятся к данному регистрационному номеру, на тех машинах, где лицензия больше не должна использоваться. Также крайне важно очистить файлы с расширением .pfl (например, 1cv8.pfl), в которых могут храниться старые привязки.
При запуске помощника получения лицензии на новом сервере выберем пункт «Восстановление». Важно: не пытайтесь активировать новый пин-код как «Первичный», если продукт уже был ранее активирован. Используйте резервный пин-код, указав в точности те же данные о владельце (ФИО, организация, адрес), которые вводились при первой активации. Малейшее расхождение (например, «ИП Иванов» вместо «Индивидуальный предприниматель Иванов») приведет к ошибке.
Чтобы избежать конфликтов в будущем, убедимся, что на всех рабочих станциях и серверах установлена идентичная версия платформы. Рассмотрим пример проверки версии в коде (для внешних обработок диагностики):
СистемнаяИнформация = Новый СистемнаяИнформация;
ВерсияПлатформы = СистемнаяИнформация.ВерсияПриложения;
Сообщить("Текущая версия платформы: " + ВерсияПлатформы);
Подведем итоги нашего анализа. Ситуация с «двойной» лицензией возникла из-за того, что:
Чтобы никогда не сталкиваться с подобными проблемами, рекомендуем всегда деактивировать (удалять файлы .lic) лицензии на старых устройствах перед активацией резервных кодов и внимательно следить за тем, чтобы в одной локальной сети не «светились» два разных пин-кода из одного бумажного конверта 1С.