При одновременном наличии на компьютере коммерческой лицензии (например, для "1С:Бухгалтерия") и Community-лицензии для разработчиков часто возникает конфликт. Платформа может автоматически выбирать лицензию для разработчиков даже для рабочих баз, из-за чего в печатных формах документов появляется водяной знак "Версия для разработчиков". Это создает неудобства, даже если у вас настроено удобное рабочее место программиста и процессы отлажены. Разберем, как управлять этим процессом и настроить использование нужных лицензий.
Проанализируем ситуацию: по умолчанию 1С ищет файлы программных лицензий (с расширением .lic) в общих папках, таких как %ProgramData%\1C\licenses. Если там лежат оба файла, система захватывает первый подходящий. Лицензия для разработчиков часто имеет технический приоритет. Выясним причину: внутри кода платформы состояние "учебная/разработческая сессия" фиксируется в момент запуска, и изменить его программно в самой конфигурации невозможно. Даже глубокий анализ конфигурации, расширений и обработок не поможет "вылечить" это кодом 1С, так как механизм зашит в исполняемый файл. Единственный путь решения — разграничить доступ платформы к файлам лицензий.
Рассмотрим наиболее надежный метод, который заключается в использовании разных каталогов bin\conf для разных версий установленной платформы. Выполним следующие шаги:
8.3.23.XXXX для работы и 8.3.24.XXXX для среды разработки, где вы используете рабочий стол администратора для быстрых тестов).C:\Program Files\1cv8\8.3.23.XXXX\bin\conf.C:\Program Files\1cv8\8.3.24.XXXX\bin\conf. Там же можно держать инструменты отладки (удобно через инструментарий для пошаговой отладки в среде 1С), например, универсальное расширение-замену 'Все функции', не боясь, что они повлияют на рабочий контур.В этом случае при запуске рабочей базы платформа увидит только коммерческую лицензию, так как папка bin\conf имеет приоритет для конкретного экземпляра 1cv8.exe.
Посмотрим на более тонкую настройку через файл location.cfg. В каталоге conf установленной платформы мы можем создать или отредактировать этот текстовый файл. С его помощью можно переопределить путь, где 1С будет искать программные ключи.
Например, укажем параметр distrib:
distrib=C:\1C_Licenses\Work_License
Таким образом, мы можем "привязать" конкретную установку платформы к папке, где лежит только коммерческая лицензия, исключив подхватывание комьюнити-файла.
Проанализируем возможность разделения сред через профили Windows. Платформа 1С ищет лицензии в профиле текущего пользователя по пути %AppData%\1C\1Cv8\Conf. Мы можем:
AppData.runas), тогда платформа физически не сможет дотянуться до разработческой лицензии.Если вышеуказанные методы не подходят, рассмотрим вариант программной подмены файлов. Это решение будет близко тем, кто использует скрипты и экзекутор для выгрузки конфигурации в файлы, так как принцип автоматизации схож — для этого подойдёт инструмент централизованного администрирования баз и расширений 1С. Создадим простой .bat или PowerShell скрипт для запуска рабочей базы. Алгоритм работы скрипта:
licenses в резервный каталог.1cv8.exe) с параметрами нужной информационной базы.Пример структуры команды запуска в скрипте:
start "" "C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "D:\Bases\Buh" /N "User" /P "Password"
Нужно учитывать, что комьюнити-лицензия часто привязывается к учетной записи портала 1С:ИТС. Если на компьютере выполнен вход в профиль разработчика, платформа может пытаться активировать лицензию онлайн. В этом контексте важно помнить не только о лицензировании, но и про безопасность интеллектуальной собственности — например, используя защиту конфигураций и обработок онлайн. В некоторых случаях помогает выход из учетной записи в диалоге управления лицензиями непосредственно в интерфейсе 1С, чтобы система перестала автоматически подтягивать профиль разработчика при запуске коммерческих баз.