mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-14 18:04:58 +03:00
fix(form-compile): Page с направлением раскладки → не путать с UsualGroup
У Page/Pages ключ `group` означает направление раскладки детей (<Group>Horizontal</Group>), а не тип UsualGroup. Диспетчер типа элемента проверял `group` раньше `page`/`pages`, поэтому страница с горизонтальной раскладкой компилировалась как <UsualGroup name="horizontal"> вместо <Page>. Переставил `pages`/`page` перед `group` в TYPE_KEYS (ps1 + py зеркало) — реальная UsualGroup ключа page/pages не несёт, конфликта нет. Emit-Page уже корректно эмитит <Group> из ключа group. Регресс: добавил group:horizontal на страницу в кейс pages.json + снэпшот. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -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' — это направление раскладки детей
|
||||
# (<Group>Horizontal</Group>), а не тип 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
|
||||
|
||||
@@ -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' — это направление раскладки детей
|
||||
# (<Group>Horizontal</Group>), а не тип 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)
|
||||
|
||||
@@ -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 }
|
||||
]}
|
||||
]},
|
||||
|
||||
+1
@@ -42,6 +42,7 @@
|
||||
<v8:content>Шаг "Результат"</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Group>Horizontal</Group>
|
||||
<ExtendedTooltip name="Шаг2РасширеннаяПодсказка" id="9"/>
|
||||
<ChildItems>
|
||||
<InputField name="Итог" id="10">
|
||||
|
||||
Reference in New Issue
Block a user