fix(form-compile,form-decompile): Table <Height> vs <HeightInTableRows> — развод свойств

DSL зря сводил оба тега в height, а компилятор для таблицы всегда эмитил
<HeightInTableRows> → таблица с <Height>5</Height> регенерилась как
<HeightInTableRows>5</HeightInTableRows> (форма БизнесСеть/ВыборОрганизации).
Это РАЗНЫЕ свойства (высота элемента vs высота в строках), сосуществуют в 237
таблицах корпуса (Height-only 1242, HeightInTableRows-only 755).

- Развёл: height → <Height> (generic Emit-Layout, как у всех элементов),
  новый heightInTableRows → <HeightInTableRows>.
- Декомпилятор: Add-Layout ловит <Height> → height, Table-блок
  <HeightInTableRows> → heightInTableRows.

Зеркало py. Кейс table расширен (оба тега), сертифицирован в 1С (платформа
принимает оба). Регресс 39/39 в обоих рантаймах. Раундтрип TOTAL 68→61.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-09 11:12:56 +03:00
parent 4916f5bf7c
commit 8bff8d7e05
6 changed files with 26 additions and 18 deletions
+3 -2
View File
@@ -237,7 +237,7 @@ companion-панели с собственным контентом. Оба не
| Свойство | XML | Значения |
|----------|-----|----------|
| `width` | `<Width>` | число |
| `height` | `<Height>` | число (у `table` `<HeightInTableRows>`, высота в строках) |
| `height` | `<Height>` | число (высота элемента; у `table` — тоже `<Height>`. Высота в строках таблицы — отдельный ключ `heightInTableRows`, см. §table) |
| `horizontalStretch` | `<HorizontalStretch>` | `true`/`false` (эмитится явное значение; отсутствие = дефолт) |
| `verticalStretch` | `<VerticalStretch>` | `true`/`false` (аналогично) |
| `autoMaxWidth` | `<AutoMaxWidth>` | `false` (у `input` при `multiLine` подставляется автоматически) |
@@ -529,7 +529,8 @@ companion-панели с собственным контентом. Оба не
| `verticalLines` / `horizontalLines` | bool | Линии сетки (эмитится явное `false`) |
| `initialTreeView` | string | `ExpandTopLevel`, `ExpandAllLevels`, `NoExpand` |
| `rowsPicture` | string | Картинка строк (`CommonPicture.X`) |
| `height` | int | Высота в строках таблицы |
| `height` | int | Высота элемента таблицы (`<Height>`, как у прочих элементов) |
| `heightInTableRows` | int | Высота в строках (`<HeightInTableRows>`) — отдельное свойство от `height`; таблица может нести оба |
| `header` | bool | Показывать шапку |
| `footer` | bool | Показывать подвал |
| `commandBarLocation` | string | `None`, `Top`, `Bottom`, `Auto` |