diff --git a/.claude/skills/form-compile/scripts/form-compile.ps1 b/.claude/skills/form-compile/scripts/form-compile.ps1 index 9e84e5e1..59a022a0 100644 --- a/.claude/skills/form-compile/scripts/form-compile.ps1 +++ b/.claude/skills/form-compile/scripts/form-compile.ps1 @@ -1,4 +1,4 @@ -# form-compile v1.60 — Compile 1C managed form from JSON or object metadata +# form-compile v1.61 — Compile 1C managed form from JSON or object metadata # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$JsonPath, @@ -2394,7 +2394,9 @@ function Emit-Element { # picture/picField — НИЗКИЙ приоритет: 'picture' это и тип (PictureDecoration), и свойство-иконка # у popup/button/cmdBar. Тип-ключ владельца (popup/button/…) должен выиграть. - foreach ($key in @("columnGroup","buttonGroup","group","input","check","radio","label","labelField","table","pages","page","button","calendar","cmdBar","popup","picField","picture")) { + # pages/page ПЕРЕД group: у Page/Pages ключ 'group' — это направление раскладки детей + # (Horizontal), а не тип UsualGroup. Реальная UsualGroup ключа page/pages не несёт. + foreach ($key in @("columnGroup","buttonGroup","pages","page","group","input","check","radio","label","labelField","table","button","calendar","cmdBar","popup","picField","picture")) { if ($el.$key -ne $null) { $typeKey = $key break diff --git a/.claude/skills/form-compile/scripts/form-compile.py b/.claude/skills/form-compile/scripts/form-compile.py index c516a7c8..42bcd81b 100644 --- a/.claude/skills/form-compile/scripts/form-compile.py +++ b/.claude/skills/form-compile/scripts/form-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# form-compile v1.60 — Compile 1C managed form from JSON or object metadata +# form-compile v1.61 — Compile 1C managed form from JSON or object metadata # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import copy @@ -1798,7 +1798,9 @@ KNOWN_KEYS = { # picture/picField — НИЗКИЙ приоритет: 'picture' это и тип (PictureDecoration), и свойство-иконка # у popup/button/cmdBar. Тип-ключ владельца (popup/button/…) должен выиграть. -TYPE_KEYS = ["columnGroup", "buttonGroup", "group", "input", "check", "radio", "label", "labelField", "table", "pages", "page", +# pages/page ПЕРЕД group: у Page/Pages ключ 'group' — это направление раскладки детей +# (Horizontal), а не тип UsualGroup. Реальная UsualGroup ключа page/pages не несёт. +TYPE_KEYS = ["columnGroup", "buttonGroup", "pages", "page", "group", "input", "check", "radio", "label", "labelField", "table", "button", "calendar", "cmdBar", "popup", "picField", "picture"] # Synonyms: model often writes XML name or Russian (ПолеПереключателя/RadioButtonField → radio) diff --git a/tests/skills/cases/form-compile/pages.json b/tests/skills/cases/form-compile/pages.json index 8d1401f8..bda3d629 100644 --- a/tests/skills/cases/form-compile/pages.json +++ b/tests/skills/cases/form-compile/pages.json @@ -21,7 +21,7 @@ { "page": "Шаг1", "title": "", "children": [ { "input": "Параметр1", "path": "Параметр1" } ]}, - { "page": "Шаг2", "title": "Результат", "tooltip": "Шаг \"Результат\"", "children": [ + { "page": "Шаг2", "title": "Результат", "tooltip": "Шаг \"Результат\"", "group": "horizontal", "children": [ { "input": "Итог", "path": "Итог", "readOnly": true } ]} ]}, diff --git a/tests/skills/cases/form-compile/snapshots/pages/DataProcessors/Мастер/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/pages/DataProcessors/Мастер/Forms/Форма/Ext/Form.xml index 96138f60..6328fbc7 100644 --- a/tests/skills/cases/form-compile/snapshots/pages/DataProcessors/Мастер/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/pages/DataProcessors/Мастер/Forms/Форма/Ext/Form.xml @@ -42,6 +42,7 @@ Шаг "Результат" + Horizontal