Как полностью удалить коммьюнити-лицензию 1С и перейти на коммерческую версию

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

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

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

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

  1. Облачная синхронизация через 1C:ID: Если при получении лицензии разработчика вы авторизовались через портал developer.1c.ru, платформа привязывает ваш компьютер к аккаунту. При отсутствии локального файла 1С может автоматически скачать его заново через интернет (особенно если ранее производилась установка комьюнити-лицензии разработчика на сервер 1С с помощью скриптов автоматизации).
  2. Файлы параметров подключения: Служебные файлы с расширением .pfl (например, 1cv8conn.pfl) хранят сведения о последнем успешном получении лицензии. Платформа в первую очередь обращается к ним.
  3. Кэш кластера серверов: На серверных ОС информация о сеансах и типах используемых лицензий кэшируется в каталогах данных кластера (snccntx).
  4. Иерархия папок: Лицензии могут находиться в профиле конкретного пользователя ОС, в общих папках всех пользователей или в каталоге установки самой платформы.

Шаг 1. Полная очистка файловой системы от лицензий разработчика

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

Для ОС Windows проанализируем следующие пути (здесь может пригодиться справка по решениям различных задач при администрировании систем для быстрой навигации):

Для ОС Linux (например, Ubuntu), если у вас установлен сервер 1С или настроено обслуживание баз данных 1C на Postgresql под Astra Linux:

Важное действие: Помимо удаления файлов .lic, необходимо найти и удалить (или отредактировать) файл 1cv8conn.pfl. В нем содержится закэшированный идентификатор лицензии. Рассмотрим пример структуры данных в таком файле (фрагмент):


{
{"ConnectConf",
{"LastLicense", "50000000000000"},
{"LicenseServer", "https://developer.1c.ru"}
}
}

Шаг 2. Отключение привязки в личном кабинете разработчика

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

  1. Зайдем в личный кабинет на сайте developer.1c.ru.
  2. Перейдем в раздел управления лицензиями и активными установками.
  3. Найдем в списке компьютер, на котором наблюдается проблема, и удалим привязку лицензии к этому устройству.
  4. В самой платформе 1С (в окне выбора баз или при запуске конфигуратора) проверим, не выполнен ли вход под учетной записью 1C:ID. Если вход выполнен — необходимо выйти из аккаунта.

Шаг 3. Работа с сервером 1С и очистка кэша

Если ваша база работает в клиент-серверном варианте, платформа может выдавать ошибку: The developer license limit for the number of infobase clients is exceeded. Это означает, что сервер все еще считает лицензию девелоперской и ограничивает количество подключений тремя сеансами. Проанализируем ситуацию на примере платформы 8.3.23 и выше.

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

  1. Остановим службу сервера 1С (srv1cv8 на Linux или 1C:Enterprise 8.3 Server Agent на Windows). Для оперативного завершения зависших процессов удобно использовать WEB приложение для управления сеансами "1С сервера".
  2. Перейдем в каталог данных кластера (по умолчанию это папка reg_1541).
  3. Полностью удалим содержимое папки snccntx — именно здесь хранятся данные о текущих сеансах и их лицензировании (для управления ими есть инструмент принудительного завершения сеансов пользователей). Дополнительная информация по рабочему каталогу центрального сервера (srvinfo) и его очистке поможет не удалить лишнего.
  4. Очистим временные файлы сервера в папке temp.
  5. Запустим службу сервера заново. В среде Linux для гарантированного результата рекомендуется выполнять рестарт сервера 1С с очисткой сеансовых данных посредством systemd.

Рассмотрим случай, когда после удаления лицензии перестают запускаться регламентные задания (в таких ситуациях поможет обработка контроля выполнения регламентных заданий). Это происходит из-за того, что в базе данных (в таблице сеансов) зависла информация о предыдущем типе лицензирования. В этом случае помогает выгрузка базы в формат .dt и загрузка в новую чистую базу на том же сервере.

Шаг 4. Проверка результата

Чтобы убедиться, что всё сделано правильно, запустим «1С:Предприятие» и перейдем в раздел Справка — О программе. Проанализируем блок «Лицензия»:

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

← На главную