При автоматическом развертывании платформы 1С:Предприятие на рабочих станциях системные администраторы часто используют копирование заранее подготовленных файлов конфигурации. Однако при первом запуске программы стартер (1cestart.exe) может внезапно подтереть подготовленный файл 1CEStart.cfg и заново сгенерировать пустой шаблон с дефолтными настройками. Проанализируем, почему так происходит, и разберем способы решения этой проблемы.
Рассмотрим внутренний механизм первичной инициализации профиля пользователя 1С. Когда стартер запускается на компьютере, он проверяет наличие пользовательского окружения в каталоге %APPDATA%\1C\1CEStart\.
Если в указанном каталоге отсутствует файл со списком информационных баз ibases.v8i, программа интерпретирует этот запуск как самый первый для текущей учетной записи. В этот момент запускается алгоритм автоматического поиска баз предыдущих версий и шаблонов конфигураций, после чего файл 1CEStart.cfg в папке пользователя принудительно пересоздается с базовыми значениями, стирая все ранее подложенные параметры.
Также важно следить за кодировкой конфигурационного файла. По умолчанию файл 1CEStart.cfg создается в кодировке UTF-16LE (Little Endian) с BOM. Если файл был создан сторонним скриптом в ANSI или UTF-8 без BOM, стартер может расценить его содержимое как некорректное и пересоздать заново.
Выясним наиболее простой способ обхода инициализации стартера. Чтобы 1cestart.exe не считал запуск первичным и не перезаписывал конфигурацию, достаточно добавить в ту же папку файл ibases.v8i.
Разберем порядок действий по шагам:
1CEStart.cfg в кодировке UTF-16LE.%APPDATA%\1C\1CEStart\ пустой файл с именем ibases.v8i (или файл с предварительно заполненным списком информационных баз).1CEStart.cfg в ту же папку.При наличии файла ibases.v8i стартер определяет профиль как существующий, считывает пользовательский 1CEStart.cfg без изменений и подхватывает все содержащиеся в нем настройки с первого запуска.
Посмотрим на альтернативный вариант развертывания, который избавляет от необходимости манипулировать пользовательскими папками %APPDATA%. Платформа 1С позволяет задавать общие настройки для всех пользователей компьютера через системный каталог ProgramData.
Разместить файл 1CEStart.cfg можно по пути:
%ProgramData%\1C\1CEStart\1CEStart.cfg
Преимущества этого подхода:
%ProgramData% при каждом запуске.Проанализируем ситуацию, когда необходимо централизованно управлять списками баз и версиями платформы у большого количества пользователей. В этом случае в локальный 1CEStart.cfg (в %ProgramData% или %APPDATA%) достаточно добавить ссылку на общий сетевой файл конфигурации:
CommonCfgLocation=\\server\share\1CESCmn.cfg
CommonInfoBases=\\server\share\bases.v8i
Разберем особенности работы параметров:
CommonCfgLocation указывает путь к центральному файлу конфигурации. Обратите внимание: сетевой файл, указанный в CommonCfgLocation, не должен содержать повторную ссылку на другие конфигурационные файлы.CommonInfoBases позволяет подключить общий файл со списком информационных баз для всей компании.UseHwLicenses и DefaultVersion из пользовательского файла приоритетнее общих, а списки баз из CommonInfoBases суммируются из всех уровней конфигурации.