feat(form-decompile,form-compile): размазанный блок скаляров InputField + общие cell-свойства полей

Партия простых скаляров полей, которые не захватывались (платформа эмитит явное
не-дефолтное значение):
  - InputField-специфичные: Wrap, OpenButton, ListChoiceMode, ExtendedEditMultipleValues,
    ChooseType, ChoiceButtonRepresentation — в Emit-Input / InputField-кейс.
  - Общие cell-свойства поля-колонки (Input/Label/Picture/CheckBox/ColumnGroup):
    ShowInHeader, ShowInFooter, AutoCellHeight, FooterHorizontalAlign, HeaderHorizontalAlign —
    вынесены в общий Emit-CommonElementProps / Add-Layout (захват «как есть»).
    ColumnGroup: собственная эмиссия ShowInHeader убрана (общий путь покрывает) —
    устранён двойной эмит.

TOTAL diff lines выборки 2.17: 3179 → 2912 (-267), match 17 → 20 (+3 чистых формы).
Все обработанные скаляры residual → 0. Снапшот input-fields (+скаляры) сертифицирован
в 1С (8.3.24). Регресс form-compile 34/34 зелёный на ps + python.
decompile v0.39, compile v1.57.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-07 14:58:17 +03:00
co-authored by Claude Opus 4.8
parent 27f5da4829
commit 701d56b075
6 changed files with 72 additions and 13 deletions
+12 -1
View File
@@ -216,8 +216,13 @@ companion-панели с собственным контентом. Оба не
| `defaultItem` | `<DefaultItem>` | `true` (элемент активируется по умолчанию) |
| `enableStartDrag` | `<EnableStartDrag>` | `true` (разрешить начало перетаскивания) |
| `fileDragMode` | `<FileDragMode>` | `AsFile`/… (режим drag-n-drop файлов) |
| `showInHeader` | `<ShowInHeader>` | bool — показывать в шапке таблицы (поле-колонка) |
| `showInFooter` | `<ShowInFooter>` | bool — показывать в подвале таблицы |
| `autoCellHeight` | `<AutoCellHeight>` | bool — авто-высота ячейки |
| `footerHorizontalAlign` | `<FooterHorizontalAlign>` | `Left`/`Right`/`Center` |
| `headerHorizontalAlign` | `<HeaderHorizontalAlign>` | `Left`/`Right`/`Center`/`Auto` |
> `defaultItem`/`enableStartDrag`/`fileDragMode`/`skipOnInput` — общие для любого типа элемента (таблица, поле, надпись, картинка, кнопка), не только таблицы.
> `defaultItem`/`enableStartDrag`/`fileDragMode`/`skipOnInput` + cell-свойства (`showInHeader`/`showInFooter`/`autoCellHeight`/`footerHorizontalAlign`/`headerHorizontalAlign`) — общие для любого поля-колонки (input, label, picField, check).
### 4.2. События элемента и автоименование обработчиков
@@ -301,6 +306,12 @@ companion-панели с собственным контентом. Оба не
| `skipOnInput` | bool | Пропускать при вводе |
| `inputHint` | string | Подсказка ввода (placeholder) |
| `choiceList` | array | Список выбора: массив `{ value, presentation?/title? }` — та же грамматика, что у `radio` (см. ниже) |
| `wrap` | bool | Перенос по словам (`<Wrap>`) |
| `openButton` | bool | Кнопка открытия (`<OpenButton>`) |
| `listChoiceMode` | bool | Режим выбора из списка (`<ListChoiceMode>`) |
| `extendedEditMultipleValues` | bool | Расширенное редактирование нескольких значений |
| `chooseType` | bool | Выбор типа (`<ChooseType>`) |
| `choiceButtonRepresentation` | string | `ShowInInputField`, `ShowInDropList`, `ShowInDropListAndInInputField` |
| `width` | int | Ширина |
| `height` | int | Высота |
| `horizontalStretch` | bool | Растягивание по горизонтали |