Как в 1С 8.3 выбрать конкретный файл лицензии и убрать надпись "Версия для разработчиков"?

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

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

Проблема автоматического поиска лицензий

Проанализируем ситуацию: по умолчанию 1С ищет файлы программных лицензий (с расширением .lic) в общих папках, таких как %ProgramData%\1C\licenses. Если там лежат оба файла, система захватывает первый подходящий. Лицензия для разработчиков часто имеет технический приоритет. Выясним причину: внутри кода платформы состояние "учебная/разработческая сессия" фиксируется в момент запуска, и изменить его программно в самой конфигурации невозможно. Даже глубокий анализ конфигурации, расширений и обработок не поможет "вылечить" это кодом 1С, так как механизм зашит в исполняемый файл. Единственный путь решения — разграничить доступ платформы к файлам лицензий.

Решение 1: Разделение лицензий по версиям платформы

Рассмотрим наиболее надежный метод, который заключается в использовании разных каталогов bin\conf для разных версий установленной платформы. Выполним следующие шаги:

  1. Установим две разные версии платформы (например, 8.3.23.XXXX для работы и 8.3.24.XXXX для среды разработки, где вы используете рабочий стол администратора для быстрых тестов).
  2. Переместим файл коммерческой лицензии из общей папки в каталог C:\Program Files\1cv8\8.3.23.XXXX\bin\conf.
  3. Файл комьюнити-лицензии поместим в каталог C:\Program Files\1cv8\8.3.24.XXXX\bin\conf. Там же можно держать инструменты отладки (удобно через инструментарий для пошаговой отладки в среде 1С), например, универсальное расширение-замену 'Все функции', не боясь, что они повлияют на рабочий контур.
  4. В настройках конкретной информационной базы в стартере 1С жестко укажем номер версии платформы, которую необходимо использовать.

В этом случае при запуске рабочей базы платформа увидит только коммерческую лицензию, так как папка bin\conf имеет приоритет для конкретного экземпляра 1cv8.exe.

Решение 2: Использование конфигурационного файла location.cfg

Посмотрим на более тонкую настройку через файл location.cfg. В каталоге conf установленной платформы мы можем создать или отредактировать этот текстовый файл. С его помощью можно переопределить путь, где 1С будет искать программные ключи.

Например, укажем параметр distrib:


distrib=C:\1C_Licenses\Work_License

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

Решение 3: Изоляция через системных пользователей

Проанализируем возможность разделения сред через профили Windows. Платформа 1С ищет лицензии в профиле текущего пользователя по пути %AppData%\1C\1Cv8\Conf. Мы можем:

  1. Создать в операционной системе отдельного пользователя для работы в бухгалтерии и отдельного — для разработки.
  2. Разместить соответствующие лицензии в их личных папках AppData.
  3. Запускать рабочую базу от имени "бухгалтерского" пользователя (используя механизм runas), тогда платформа физически не сможет дотянуться до разработческой лицензии.

Решение 4: Автоматизация через скрипт запуска

Если вышеуказанные методы не подходят, рассмотрим вариант программной подмены файлов. Это решение будет близко тем, кто использует скрипты и экзекутор для выгрузки конфигурации в файлы, так как принцип автоматизации схож — для этого подойдёт инструмент централизованного администрирования баз и расширений 1С. Создадим простой .bat или PowerShell скрипт для запуска рабочей базы. Алгоритм работы скрипта:

  1. Временно переместить файл комьюнити-лицензии из основной папки licenses в резервный каталог.
  2. Запустить процесс 1С (1cv8.exe) с параметрами нужной информационной базы.
  3. Дождаться инициализации сессии (или закрытия программы) и вернуть файл комьюнити-лицензии на место.

Пример структуры команды запуска в скрипте:


start "" "C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "D:\Bases\Buh" /N "User" /P "Password"

Важные замечания по лицензии Community

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

← На главную