mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-29 08:01:02 +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:
co-authored by
Claude Opus 4.8
parent
8448a28a29
commit
2367eaa353
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user