При обслуживании программных продуктов 1С специалисты часто сталкиваются с необходимостью развернуть чистую информационную базу конкретного релиза или получить полный файл конфигурации .cf. Однако на официальном портале обновлений releases.1c.ru полные версии дистрибутивов выкладываются далеко не для каждого релиза — чаще всего там доступны только файлы с дельта-обновлениями .cfu.
В этом материале мы проанализируем, как избавиться от рутинной ручной работы по последовательной накатке обновлений и автоматизировать процесс сборки готового файла .cf из цепочки файлов .cfu.
Разберем техническую специфику файлов обновлений. Файл формата .cfu не содержит полную структуру метаданных конфигурации — в нем записаны только изменения по сравнению с предыдущими версиями. Кроме того, в каждом .cfu жестко зафиксирован список опорных релизов, с которых разрешено выполнение обновления.
Для формирования итогового файла .cf необходимо выполнить следующий алгоритм:
.cf или шаблон базы..cfu..cfu к базе через Конфигуратор..cf.Платформа «1С:Предприятие» позволяет полностью автоматизировать описанный процесс с помощью параметров командной строки. Рассмотрим ключевые ключи запуска, которые используются для решения этой задачи:
CREATEINFOBASE — позволяет создать пустую временную файловую базу данных из командной строки./UpdateCfg — запускает обновление конфигурации указанным файлом .cfu или .cf./UpdateDBCfg — обновляет структуру базы данных временной информационной базы после применения файла обновления./DumpCfg — выгружает текущее состояние конфигурации базы в файл .cf./CreateDistributionFiles — создает официальный файл поставки. Этот параметр гарантирует корректное формирование файла конфигурации поставщика с сохранением связей поддержки.Рассмотрим пример сценария командной строки для последовательного создания базы, применения обновления и выгрузки итогового файла .cf:
REM Создаем пустую файловую базу данных
"C:\Program Files\1cv8\8.3.23.1688\bin\1cv8.exe" CREATEINFOBASE File="C:\TempBase"
REM Накатываем обновление .cfu в пакетном режиме
"C:\Program Files\1cv8\8.3.23.1688\bin\1cv8.exe" DESIGNER /F "C:\TempBase" /UpdateCfg "C:\Updates\1c_upd.cfu" /UpdateDBCfg
REM Выгружаем итоговый файл конфигурации .cf
"C:\Program Files\1cv8\8.3.23.1688\bin\1cv8.exe" DESIGNER /F "C:\TempBase" /DumpCfg "C:\Result\FinalConfiguration.cf"
Проанализируем работу этого сценария. При объединении таких команд в цикл в скриптах PowerShell, Python или OneScript можно организовать пакетный процесс, который автоматически скачает обновления, соберет цепочку и выдаст готовый файл .cf требуемой версии.
Если нет желания самостоятельно писать командные скрипты и обрабатывать возможные исключения, можно воспользоваться готовыми инструментами автоматизации:
.cfu, разворачивание временной базы и накатывание релизов. По завершении процесса остается лишь открыть базу Конфигуратором и выгрузить итоговый .cf.Выясним, где можно найти готовые файлы .cf без необходимости длительной сборки из цепочки обновлений:
tmplts) не только файл .cfu, но и полноценный .cf или шаблон демонстрационной/пустой базы. Перед сборкой цепочки обновлений рекомендуется проверить содержимое папки соответствующего релиза.При автоматизации сборки необходимо учитывать следующие особенности платформы:
/DumpCfg выгружает структуру метаданных информационной базы. Если необходимо получить файл для корректной постановки на поддержку у клиентов, рекомендуется использовать режим /CreateDistributionFiles -cffile..cf содержит только структуру метаданных. В типовых конфигурациях на базе Библиотеки Стандартных Подсистем (БСП) начальное заполнение справочников и регистров выполняется при первом запуске базы в режиме «1С:Предприятие». Если вам требуется полноценная рабочая база (а не просто файл метаданных), после применения Конфигуратором файлов .cfu необходимо выполнить запуск базы в режиме «1С:Предприятие» для выполнения отложенных обработчиков обновления.