From f3466e19fdc37954c030e48daabcc192f0098fe7 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 3 May 2026 20:10:10 +0300 Subject: [PATCH] =?UTF-8?q?docs(form-patterns):=20=D0=B0=D0=BA=D1=82=D1=83?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20form-compile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Архетипы «Форма обработки» и «Мастер»: кнопки действий перенесены с нижней горизонтальной группы на главную АКП формы (autoCmdBar) - Конвенция «ГруппаКнопок» заменена на «ФормаКоманднаяПанель» - Принцип компоновки №3: уточнено, что кнопки идут на АКП - Сворачиваемые группы: исправлен пример — корректный DSL (group: collapsible, collapsed: true) вместо несуществующих ключей behavior/collapsed на vertical-группе - Полный пример формы обработки переписан под autoCmdBar - Из свойств мастера убран commandBarLocation: None (не нужен, когда мы сами наполняем АКП) Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/skills/form-patterns/SKILL.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.claude/skills/form-patterns/SKILL.md b/.claude/skills/form-patterns/SKILL.md index 6c4bf3e8..81d2a483 100644 --- a/.claude/skills/form-patterns/SKILL.md +++ b/.claude/skills/form-patterns/SKILL.md @@ -41,9 +41,9 @@ allowed-tools: [] ├─ Информационные надписи (label, hyperlink) Рабочая область ├─ Таблица данных или Pages с вкладками -Кнопки действий -├─ Выполнить / Применить (defaultButton) -├─ Закрыть (stdCommand: Close) +Главная АКП формы (autoCmdBar) +├─ Выполнить / Применить (defaultButton: true) +└─ Закрыть (stdCommand: Close) ``` **События:** OnCreateAtServer, OnOpen, NotificationProcessing @@ -90,12 +90,12 @@ allowed-tools: [] ├─ Шаг1: описание + параметры ├─ Шаг2: основная работа └─ Шаг3: результат -Кнопки (horizontal) -├─ Назад (command), Далее (command, defaultButton), Выполнить (command) +Главная АКП формы (autoCmdBar) +├─ Назад, Далее (defaultButton: true), Выполнить └─ Закрыть (stdCommand: Close) ``` -**Свойства:** windowOpeningMode=LockOwnerWindow, commandBarLocation=None +**Свойства:** windowOpeningMode=LockOwnerWindow --- @@ -111,7 +111,7 @@ allowed-tools: [] | Номер+Дата | `ГруппаНомерДата` | horizontal | | Подвал | `ГруппаПодвал` | vertical | | Итоги | `ГруппаИтоги` | horizontal | -| Кнопки | `ГруппаКнопок` | horizontal | +| Главная АКП формы | `ФормаКоманднаяПанель` | autoCmdBar | | Страницы | `ГруппаСтраницы` / `Страницы` | pages | | Предупреждение | `ГруппаПредупреждение` | horizontal, visible:false | | Доп. секция | `ГруппаДополнительно` / `ГруппаПрочее` | vertical, collapse | @@ -150,7 +150,7 @@ allowed-tools: [] 1. **Порядок чтения.** Сверху вниз, слева направо. Самое важное — вверху. 2. **Двухколоночная шапка.** Основные реквизиты слева (контрагент, склад), организационные справа (организация, подразделение). -3. **Кнопки действий внизу.** Главная кнопка — `defaultButton: true`. Закрыть — всегда последняя. +3. **Кнопки действий — на главной АКП формы** (`autoCmdBar`), не в отдельной группе на форме. Главная кнопка — `defaultButton: true`. Закрыть — всегда последняя. 4. **Таблицы — основная область.** Табличные части занимают большую часть формы, обычно на Pages. 5. **Итоги рядом с таблицей.** В подвале, горизонтальная группа, все поля readOnly. 6. **Фильтры — отдельная зона.** Над списком, alwaysHorizontal, пара «флажок + поле» на каждый фильтр. @@ -166,8 +166,8 @@ allowed-tools: [] Для необязательных секций (подписи, дополнительно, прочее): ```json -{ "group": "vertical", "name": "ГруппаПодписи", "title": "Подписи", - "behavior": "Collapsible", "collapsed": true, "children": [...] } +{ "group": "collapsible", "name": "ГруппаПодписи", "title": "Подписи", + "collapsed": true, "children": [...] } ``` ### Баннер-предупреждение @@ -233,7 +233,7 @@ allowed-tools: [] { "input": "ДанныеКоличество", "path": "Объект.Данные.Количество", "on": ["OnChange"] }, { "input": "ДанныеСумма", "path": "Объект.Данные.Сумма", "readOnly": true } ]}, - { "group": "horizontal", "name": "ГруппаКнопок", "children": [ + { "autoCmdBar": "ФормаКоманднаяПанель", "children": [ { "button": "Загрузить", "command": "Загрузить", "title": "Загрузить из файла", "defaultButton": true }, { "button": "Очистить", "command": "Очистить", "title": "Очистить таблицу" }, { "button": "Закрыть", "stdCommand": "Close" }