Изменяется ConfigDumpInfo.xml при компиляции cf

vanessa-runner

#1

Здравствуйте!
С 1с работаю около года. Делаю попытки перейти на схему работы с Git.
И по ходу тестирования сталкиваюсь с различными казусами.
При компиляции исходников в CF-файл, появлялись изменения, которые я никак не вносил, причем в залоченные объекты находящиеся на поддержке. Сначала думал что выгрузка базы в исходники вносит изменения в исходники, но нет проверил - каждая последующая выгрузка не вносит изменения в выгружаемые исходники. Имелись 2 каталога исходников, сделанных в разное время, но абсолютно идентичных по содержимому… У меня vanessa-runner v1.5.0. Конфигурация базы(файловой) идентична выгруженной в исходники.

Итак делаю экспорт командой(используя bat):
call runner compile -s %sourcedir% -o %outputfile%

, где sourcedir=.\src2 и outputfile=%outputdir%\UNF-%exportdate%.cf

И после “успешной” компиляции, созданный cf-файл содержит изменения при сравнении с базой, сравниваю оба каталога исходников(src1 и src2) и обнаруживаю что файл в каталоге из которого происходила компиляция - ConfigDumpInfo.xml - изменён по содержанию, дате изменения и в конечном счете размеру. А именно изменения касаются id-шников полей Metadata в этом xml-файле.

Вопрос:
Как сделать так, чтобы компиляция(экспорт) cf-файла из исходников взаимодействовала с каталогом исходников только в режиме чтения? Или что я делаю не так?

Заранее спасибо!


#2
  • Удалите ConfigDumpInfo.xml
  • выгрузите свою родную конфигурацию в исходники
    • именно ту, с которой вы сравните созданный файл и находите изменения
    • проще в гит, чтобы он сразу показал разницу
  • сравните исходники - проще в гите
  • если есть расхождения, значит, у вас файл конфигурации и исходников отличаются и поэтому получается разница после компиляции
  • если нет расхождений, тогда
    • снова удалите ConfigDumpInfo.xml
    • скомпилируйте файл из исходников
    • сравните файлы конфигураций
  • если все-таки есть расхождения, это скорее всего,
  • либо баг платформы
  • либо вы что-то сделали не по этой инструкции :slight_smile:

ну и сразу скажу, что версия 1С не должна быть ниже 8.3.10

на более старых версиях выгрузка/загрузка в исходники работает странно :frowning:


#3

Алгоритм воспроизвёл, изменения появлялись, вносил не я)
После этого установил платформу 8.3.11.3133(предыдущая на которой проверял и работаю - 8.3.10.2580), результата не принесло всё также изменения есть.
Заметил лишь то что эти изменения вне зависимости от платформы и даты бэкапов - в основном одни и те же. Возможно это из-за того что начиналось всё(я имею ввиду доработку типовой конфигурации за последние 5 лет) с платформы 8.3.9 и конфигурации базы с совместимостью с 8.3.8.

Пробую просто принять изменения все изменения прогнав несколько раз через исходники и компиляцию.


#4

Проверил на 8.3.12.1595 - тот же эффект при выгрузке исходников, имеются расхождения.
Решил попробовать использовать хранилище, но тут же появлась пробелма - разве есть инструменты с возможностью загрузки изменений из исходников директивно в хранилище или в базу? Проблема что нет чистого cf без технических изменений на выводе.


#5

собрать cf, захватить все объекты, объединить с cf через MergeConfig.xml, выполнить коммит. все через пакетный запуск конфигуратора или v8runner или vanessa-runner


#6

Но ведь “собрать cf” состоит из загрузки исходников во временную базу и выгрузку из него cf?(штатными механизмами) - это ведь приводит к проблеме описанной в начале топика. Или я что-то не так понял?


#7

Упустил суть топика, пардон :slight_smile:

Можно ещё попробовать инкрементальную загрузку из исходников, но тогда надо формировать строку изменённых файлов из гита. Пример формирования строки можно глянуть в моем старом репе https://github.com/nixel2007/gitlab-ci-for-1c/blob/master/scripts/ci_deploy.os