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): дополнения командной панели таблицы (Search/ViewStatus/SearchControl)
Дополнения встроенного поиска таблицы как тип-элементы — обе позиции:
(1) Кастомные (в AutoCommandBar/ChildItems) → элементы в commandBar:
{ "searchString": "Имя", "source": "Список", "width": 15, ... }
Полный набор свойств поля (Emit-Layout/Appearance/CommonFlags/tooltip);
source дефолт = родительская таблица; horizontalLocation auto/left/right.
(2) Стандартные (авто-генерация на уровне таблицы) → per-table карта
отклонений additions: { viewStatus: { horizontalLocation: "left" } }.
Тип-как-ключ searchString/viewStatus/searchControl, forgiving-синонимы
(XML-тег, <Type>, рус.имя, имя «Вид» из конфигуратора). Декомпилятор разводит
по позиции (ChildItems → commandBar.children; прямые дети <Table> → карта
additions, только deviations); убран из COMPANION_TAGS, +ELEMENT_KEY.
Хвост: CommandBarLocation авто-вывод для дин-список-таблицы — суппресс-маркер
"" (компилятор инжектит None, верно по корпусу 203≈213; декомпилятор инвертирует:
нет тега → "", None → опускает, иначе → захват).
Зеркало py (байт-в-байт). Синтет-фикстура (upload/epf/ДополненияКП) — perfect
round-trip LOST 0/ADDED 0. Кейс dynamic-list-form расширен (кастомное+override),
сертифицирован в 1С. Регресс 39/39 ps1+py.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -511,6 +511,30 @@ companion-панели с собственным контентом. Оба не
|
||||
| `viewStatusLocation` | string | `None`, `Top`, `Bottom`, `Auto` |
|
||||
| `searchControlLocation` | string | `None`, `Top`, `Bottom`, `Auto` |
|
||||
| `excludedCommands` | string[] | Исключённые стандартные команды таблицы (`Add`, `Delete`, `MoveUp`, `SortListAsc`, …) → `<CommandSet>` |
|
||||
| `additions` | object | Отклонения стандартных дополнений командной панели (см. ниже) |
|
||||
|
||||
> `commandBarLocation` у **дин-список-таблицы** компилятор авто-подставляет `None`. Чтобы оставить тег пустым (платформа не написала его) — задайте `commandBarLocation: ""` (суппресс-маркер); декомпилятор так и делает.
|
||||
|
||||
##### Дополнения командной панели (поиск / состояние / управление)
|
||||
|
||||
Дополнения — «представления» встроенного поиска таблицы: `searchString` (отображение строки поиска), `viewStatus` (состояние просмотра), `searchControl` (управление поиском). Это полноценные элементы (полный набор свойств поля). Две позиции:
|
||||
|
||||
**(1) Стандартные** (платформа авто-генерит на уровне таблицы) — указываются ТОЛЬКО отклонения, через карту `additions` (ключ = тип):
|
||||
```json
|
||||
{ "table": "Список", "additions": { "viewStatus": { "horizontalLocation": "left" } } }
|
||||
```
|
||||
|
||||
**(2) Кастомные** (размещённые в командной панели) — обычные элементы в `commandBar`:
|
||||
```json
|
||||
{ "table": "Список", "commandBar": [
|
||||
{ "searchString": "ПоискСписка", "source": "Список", "width": 15, "horizontalStretch": true }
|
||||
]}
|
||||
```
|
||||
|
||||
- Тип-ключ: `searchString` / `viewStatus` / `searchControl` (forgiving: XML-тег `SearchStringAddition`, `<Type>` `SearchStringRepresentation`, рус. `строкаПоиска`/«Отображение строки поиска»).
|
||||
- `source` → `AdditionSource.Item`; **дефолт = имя родительской таблицы**.
|
||||
- `horizontalLocation`: `auto` (дефолт) / `left` / `right` (+ рус. `слева`/`справа`). Применимо и к обычным элементам командных панелей.
|
||||
- Прочие свойства (`title`, `visible`, `userVisible`, `enabled`, `tooltip`, оформление, `width`/`maxWidth`/`autoMaxWidth`/`horizontalStretch`/`groupHorizontalAlign`/…) — как у поля.
|
||||
|
||||
##### Таблица динамического списка
|
||||
|
||||
|
||||
Reference in New Issue
Block a user