mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-29 05:25:53 +03:00
feat(meta-validate): версия формата согласована внутри объекта (проверка 24), дескрипторы форм и макетов
Платформа загружает части одного объекта — дескриптор X.xml и штампованные тела X/Ext/*.xml — только в одной версии формата («Версия формата загружаемого файла … отличается от версии формата ранее загруженных файлов»). Формы и макеты объекта — такие же пары. Проверка 24 обходит части объекта, который передан на вход: тело не в версии своего дескриптора — ошибка. Объекты разных версий между собой платформа грузит, это лишь неоднородность выгрузки (типично после мержа веток, выгруженных разными платформами), — поэтому расхождение дескрипторов с якорем выгрузки (Configuration.xml или корень EPF/ERF) только предупреждение. Без якоря сверки с выгрузкой нет. Дескрипторы Forms/<Имя>.xml и Templates/<Имя>.xml больше не «Unrecognized metadata type»: проверяются имя и вид (FormType, TemplateType), чтобы пакетный прогон по списку изменённых файлов не падал на них. Поведение платформы измерено на 8.3.27.1859: Form, Rights, Help, Predefined, ExchangePlanContent, JobSchedule, Style, ExtPicture, CommandInterface, тела макетов GraphicalSchema и HTML — отказ при расхождении с дескриптором в обе стороны, Full и Partial; объект целиком в 2.18 в выгрузке 2.20 грузится. Новые общие функции root_version и find_dump_anchor — семьи в check-inline-drift. Co-Authored-By: Sergei Pleshanov <2357qwr@gmail.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Sergei Pleshanov
Claude Opus 5.5
parent
868ba8db49
commit
a90861800b
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "Справка, предопределённые и тело макета в другой версии, чем их дескрипторы, — по ошибке на каждое",
|
||||
"setup": "fixture:version-parts-bodies",
|
||||
"params": { "objectPath": "Catalogs/Товары.xml" },
|
||||
"expectError": true,
|
||||
"noSnapshot": "meta-validate только читает и печатает — эталон зафиксировал бы фикстуру, а не выход проверяемого навыка; проверяется stdout",
|
||||
"expect": {
|
||||
"stdoutContains": [
|
||||
"[ERROR] 24. Товары/Ext/Help.xml is stamped 2.18, its descriptor Товары.xml 2.20",
|
||||
"[ERROR] 24. Товары/Ext/Predefined.xml is stamped 2.18, its descriptor Товары.xml 2.20",
|
||||
"[ERROR] 24. Товары/Templates/Описание/Ext/Template.xml is stamped 2.18, its descriptor Товары/Templates/Описание.xml 2.20"
|
||||
]
|
||||
},
|
||||
"skipPlatformVerify": "фикстура намеренно не загружается: части одного объекта в разных версиях формата — платформа отвергает («отличается от версии формата ранее загруженных файлов»)"
|
||||
}
|
||||
Reference in New Issue
Block a user