mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
feat(form-decompile,form-compile): Table headerHeight/footerHeight/currentRowUse + форм. conversationsRepresentation (pass-through)
Раундтрип терял 4 свойства (категория Table-скаляры + форм-уровень): - Table <HeaderHeight>/<FooterHeight> (высота шапки/подвала в строках; ~35/~6 форм) - Table <CurrentRowUse> (использование текущей строки; ≠ одноимённое свойство команды, у которой свой путь захвата/эмиссии). Значения: DontUse/Use/SelectionPresentation/ SelectionPresentationAndChoice/Choice - форм-уровень <ConversationsRepresentation> (Auto/Show/DontShow; редкое) Все три Table-свойства были явно отложены в Emit-Table (комментарий о «строгом Table-XSD»). Корпусные данные показывают, что 1С эмитит те же теги в РАЗНЫХ позициях у разных форм → загрузчик толерантен к порядку детей Table (как и существующий компилятор с ранним DataPath). Размещены pass-through в Emit-Table (height-теги рядом с UseAlternationRowColor, CurrentRowUse у блока дин-списка); форм-уровень — generic Emit-Properties (авто-PascalCase). decompile (ps1): захват headerHeight/footerHeight/currentRowUse на Table; ConversationsRepresentation в KNOWN_FORM_PROPS. compile (ps1+py): эмиссия в emit_table. Верификация: таргет-раундтрип 4 форм → match (TOTAL diff lines 0); регресс form-compile 43/43 (ps1+py); 1С-cert кейса table (форма с тремя тегами грузится в платформу). spec обновлён. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,7 @@
|
||||
| `horizontalAlign` | `<HorizontalAlign>` | `Left`, `Center`, `Right` — горизонтальное выравнивание формы |
|
||||
| `childrenAlign` | `<ChildrenAlign>` | Выравнивание элементов/заголовков (`ItemsLeftTitlesLeft`, `ItemsRightTitlesLeft`, `None`, …) |
|
||||
| `showTitle` | `<ShowTitle>` | `true` / `false` — показывать заголовок формы |
|
||||
| `conversationsRepresentation` | `<ConversationsRepresentation>` | `Auto`, `Show`, `DontShow` — отображение панели обсуждений; pass-through (редкое) |
|
||||
|
||||
Нераспознанные ключи преобразуются с автоматическим PascalCase (первая буква в верхний регистр).
|
||||
|
||||
@@ -560,6 +561,9 @@ companion-панели с собственным контентом. Оба не
|
||||
| `heightInTableRows` | int | Высота в строках (`<HeightInTableRows>`) — отдельное свойство от `height`; таблица может нести оба |
|
||||
| `header` | bool | Показывать шапку |
|
||||
| `footer` | bool | Показывать подвал |
|
||||
| `headerHeight` | int | Высота шапки в строках (`<HeaderHeight>`); pass-through (редкое, ~35 форм в корпусе) |
|
||||
| `footerHeight` | int | Высота подвала в строках (`<FooterHeight>`); pass-through (редкое, ~6 форм) |
|
||||
| `currentRowUse` | string | Использование текущей строки таблицы (`<CurrentRowUse>`): `DontUse`, `Use`, `SelectionPresentation`, `SelectionPresentationAndChoice`, `Choice`; pass-through (≠ одноимённое свойство команды) |
|
||||
| `commandBarLocation` | string | `None`, `Top`, `Bottom`, `Auto` |
|
||||
| `searchStringLocation` | string | `None`, `Top`, `Bottom`, `CommandBar`, `Auto` |
|
||||
| `viewStatusLocation` | string | `None`, `Top`, `Bottom`, `Auto` |
|
||||
|
||||
Reference in New Issue
Block a user