mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
15883a7e7c
Декомпилятор (v0.21): парс <Settings xsi:type="DynamicList"> — mainTable/query/ dynamicDataRead(дефолт true→omit)/fields(только при наличии); вынос query в <basename>-<имяСписка>.sql рядом с JSON (зеркало skd-decompile); захват контента ListSettings (filter/order/conditionalAppearance) в skd-грамматику. Пустой/ каноничный скелет опускается (компилятор регенерит). Компилятор (ps1+py v1.39): query→ManualQuery=true+QueryText (+@file-резолвер); порядок платформы ManualQuery→DynamicDataRead→QueryText→Field*→MainTable→ListSettings; прощающий ввод (Справочник.X→Catalog.X через refRootSynonyms; убыв→desc/возр→asc); каноничный ListSettings-скелет с константными GUID контейнеров (~90% форм бит-в-бит); эмиттеры filter/order/conditionalAppearance скопированы из skd-compile (навыки автономны). Валидация: раундтрип CLEAN (бит-в-бит, GUID-норм.) на order/filter/condApp/пустом; сертификация в 1С PASS (пустой скелет + контент грузятся в базу); py==ps1 идентичны; регресс 33/33 ps+py; harness 12381→9634 (−22%), 0 fail, LOST контента=0. Тест-кейс dynamic-list-form дополнен контентом; spec — раздел settings динсписка. Хвост (минимальный/частичный ListSettings) — в BACKLOG. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>