mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-20 01:20:59 +03:00
refactor(form-info): trim SKILL.md from 217 to 47 lines
Remove redundant output format docs — the output is self-documenting. Keep only: command, parameters, and a compact legend for abbreviations. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
1479f944f5
commit
b36232ae19
@@ -10,22 +10,7 @@ allowed-tools:
|
|||||||
|
|
||||||
# /form-info — Компактная сводка формы
|
# /form-info — Компактная сводка формы
|
||||||
|
|
||||||
Читает Form.xml управляемой формы и выводит компактную сводку: дерево элементов, реквизиты с типами, команды, события. Заменяет необходимость читать тысячи строк XML.
|
Читает Form.xml и выводит дерево элементов, реквизиты с типами, команды, события. Заменяет чтение тысяч строк XML.
|
||||||
|
|
||||||
## Использование
|
|
||||||
|
|
||||||
```
|
|
||||||
/form-info <FormPath>
|
|
||||||
```
|
|
||||||
|
|
||||||
## Параметры
|
|
||||||
|
|
||||||
| Параметр | Обязательный | По умолчанию | Описание |
|
|
||||||
|-----------|:------------:|--------------|---------------------------------------------|
|
|
||||||
| FormPath | да | — | Путь к файлу Form.xml |
|
|
||||||
| Expand | нет | — | Раскрыть свёрнутую секцию по имени, `*` — все |
|
|
||||||
| Limit | нет | `150` | Макс. строк вывода (защита от переполнения) |
|
|
||||||
| Offset | нет | `0` | Пропустить N строк (для пагинации) |
|
|
||||||
|
|
||||||
## Команда
|
## Команда
|
||||||
|
|
||||||
@@ -33,184 +18,29 @@ allowed-tools:
|
|||||||
powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<путь к Form.xml>"
|
powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<путь к Form.xml>"
|
||||||
```
|
```
|
||||||
|
|
||||||
Раскрыть содержимое страницы:
|
## Параметры
|
||||||
```powershell
|
|
||||||
powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<путь>" -Expand "Основное"
|
|
||||||
```
|
|
||||||
|
|
||||||
Раскрыть все свёрнутые секции:
|
| Параметр | Обязательный | Описание |
|
||||||
```powershell
|
|----------|:------------:|----------|
|
||||||
powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<путь>" -Expand "*"
|
| FormPath | да | Путь к файлу Form.xml |
|
||||||
```
|
| Expand | нет | Раскрыть свёрнутую секцию по имени или title, `*` — все |
|
||||||
|
| Limit | нет | Макс. строк (по умолчанию 150) |
|
||||||
|
| Offset | нет | Пропустить N строк (пагинация) |
|
||||||
|
|
||||||
С пагинацией:
|
## Легенда вывода
|
||||||
```powershell
|
|
||||||
powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<путь>" -Offset 150
|
|
||||||
```
|
|
||||||
|
|
||||||
## Чтение вывода
|
**Элементы**: `[Group:V]` `[Group:H]` `[Group:AH]` `[Group:AV]` — UsualGroup с ориентацией; `[Input]` `[Check]` `[Label]` `[LabelField]` `[Table]` `[Button]` `[Pages]` `[Page]` `[CmdBar]` `[Popup]` `[Picture]` `[PicField]` `[BtnGroup]` `[Calendar]`
|
||||||
|
|
||||||
### Заголовок
|
**Флаги**: `[visible:false]` `[enabled:false]` `[ro]` `,collapse`
|
||||||
|
|
||||||
```
|
**Привязки**: `-> Объект.Поле` (DataPath), `-> Команда [cmd]` (команда формы), `-> Close [std]` (стандартная)
|
||||||
=== Form: ФормаДокумента — "Реализация товаров и услуг" (Documents.РеализацияТоваровУслуг) ===
|
|
||||||
```
|
|
||||||
|
|
||||||
Для заимствованных форм расширения (с `<BaseForm>`):
|
**События**: `{OnChange, StartChoice}`, для расширений `{OnChange[Before]}`
|
||||||
```
|
|
||||||
=== Form: ФормаЭлемента [EXTENSION] (Catalogs.Валюты) ===
|
|
||||||
```
|
|
||||||
|
|
||||||
Имя формы, заголовок (Title) и контекст объекта определяются из пути к файлу и XML.
|
**Заголовок**: `[title:Текст]` — только если отличается от имени
|
||||||
|
|
||||||
### Properties — свойства формы
|
**Реквизиты**: `*` и `(main)` — основной; `DynamicList -> Table` — MainTable; `ValueTable [col: type, ...]` — колонки
|
||||||
|
|
||||||
Только нестандартные свойства (отличающиеся от умолчания). Title показывается в заголовке, не здесь:
|
**Параметры**: `(key)` — ключевой
|
||||||
|
|
||||||
```
|
**Расширения**: `[EXTENSION]` в заголовке, `[callType]` на событиях/командах, `BaseForm: present (version X)` в конце
|
||||||
Properties: AutoTitle=false, WindowOpeningMode=LockOwnerWindow, CommandBarLocation=Bottom
|
|
||||||
```
|
|
||||||
|
|
||||||
### Events — обработчики событий формы
|
|
||||||
|
|
||||||
```
|
|
||||||
Events:
|
|
||||||
OnCreateAtServer -> ПриСозданииНаСервере
|
|
||||||
OnOpen -> ПриОткрытии
|
|
||||||
```
|
|
||||||
|
|
||||||
Для расширений с callType:
|
|
||||||
```
|
|
||||||
Events:
|
|
||||||
OnCreateAtServer[After] -> Расш1_ПриСозданииПосле
|
|
||||||
OnOpen[Before] -> Расш1_ПриОткрытии
|
|
||||||
```
|
|
||||||
|
|
||||||
### Elements — дерево UI-элементов
|
|
||||||
|
|
||||||
Компактное дерево с типами, привязками к данным, флагами и событиями:
|
|
||||||
|
|
||||||
```
|
|
||||||
Elements:
|
|
||||||
├─ [Group:AH] ГруппаШапка
|
|
||||||
│ ├─ [Input] Организация -> Объект.Организация {OnChange}
|
|
||||||
│ └─ [Input] Договор -> Объект.Договор [visible:false] {StartChoice}
|
|
||||||
├─ [Table] Товары -> Объект.Товары
|
|
||||||
│ ├─ [Input] Номенклатура -> Объект.Товары.Номенклатура {OnChange}
|
|
||||||
│ └─ [Input] Сумма -> Объект.Товары.Сумма [ro]
|
|
||||||
└─ [Pages] Страницы
|
|
||||||
├─ [Page] Основное (5 items)
|
|
||||||
└─ [Page] Печать (2 items)
|
|
||||||
```
|
|
||||||
|
|
||||||
**Сокращения типов элементов:**
|
|
||||||
|
|
||||||
| Сокращение | Элемент |
|
|
||||||
|---|---|
|
|
||||||
| `[Group:V]` | UsualGroup Vertical |
|
|
||||||
| `[Group:H]` | UsualGroup Horizontal |
|
|
||||||
| `[Group:AH]` | UsualGroup AlwaysHorizontal |
|
|
||||||
| `[Group:AV]` | UsualGroup AlwaysVertical |
|
|
||||||
| `[Group]` | UsualGroup (ориентация по умолчанию) |
|
|
||||||
| `[Input]` | InputField |
|
|
||||||
| `[Check]` | CheckBoxField |
|
|
||||||
| `[Label]` | LabelDecoration |
|
|
||||||
| `[LabelField]` | LabelField |
|
|
||||||
| `[Picture]` | PictureDecoration |
|
|
||||||
| `[PicField]` | PictureField |
|
|
||||||
| `[Calendar]` | CalendarField |
|
|
||||||
| `[Table]` | Table |
|
|
||||||
| `[Button]` | Button |
|
|
||||||
| `[CmdBar]` | CommandBar |
|
|
||||||
| `[Pages]` | Pages |
|
|
||||||
| `[Page]` | Page (свёрнут — показывает кол-во элементов; раскрывается через `-Expand`) |
|
|
||||||
| `[Popup]` | Popup |
|
|
||||||
| `[BtnGroup]` | ButtonGroup |
|
|
||||||
|
|
||||||
**Флаги** (только при отклонении от умолчания):
|
|
||||||
- `[visible:false]` — элемент скрыт (Visible=false)
|
|
||||||
- `[enabled:false]` — элемент недоступен (Enabled=false)
|
|
||||||
- `[ro]` — ReadOnly=true
|
|
||||||
- `,collapse` — Behavior=Collapsible (для групп)
|
|
||||||
|
|
||||||
**Привязка к данным**: `-> Объект.Поле` — DataPath
|
|
||||||
|
|
||||||
**Привязка к команде**: `-> ИмяКоманды [cmd]` — команда формы, `-> Close [std]` — стандартная команда
|
|
||||||
|
|
||||||
**События**: `{OnChange, StartChoice}` — имена обработчиков; `{OnChange[Before]}` — с callType для расширений
|
|
||||||
|
|
||||||
**Заголовок**: `[title:Текст]` — только если отличается от имени элемента
|
|
||||||
|
|
||||||
### Attributes — реквизиты формы
|
|
||||||
|
|
||||||
```
|
|
||||||
Attributes:
|
|
||||||
*Объект: DocumentObject.РеализацияТоваров (main)
|
|
||||||
Валюта: CatalogRef.Валюты
|
|
||||||
Итого: decimal(15,2)
|
|
||||||
Таблица: ValueTable [Номенклатура: CatalogRef.Номенклатура, Кол: decimal(10,3)]
|
|
||||||
Список: DynamicList -> Catalog.Пользователи
|
|
||||||
```
|
|
||||||
|
|
||||||
- `*` и `(main)` — основной реквизит формы (MainAttribute)
|
|
||||||
- Типы ValueTable/ValueTree раскрывают колонки в `[...]`
|
|
||||||
- DynamicList показывает MainTable через `->`
|
|
||||||
|
|
||||||
### Parameters — параметры формы
|
|
||||||
|
|
||||||
```
|
|
||||||
Parameters:
|
|
||||||
Ключ: DocumentRef.ЗакупкаТоваров (key)
|
|
||||||
Основание: DocumentRef.*
|
|
||||||
```
|
|
||||||
|
|
||||||
- `(key)` — ключевой параметр (KeyParameter)
|
|
||||||
|
|
||||||
### Commands — команды формы
|
|
||||||
|
|
||||||
```
|
|
||||||
Commands:
|
|
||||||
Печать -> ПечатьДокумента [Ctrl+P]
|
|
||||||
Заполнить -> ЗаполнитьОбработка
|
|
||||||
```
|
|
||||||
|
|
||||||
Для расширений с callType на Action:
|
|
||||||
```
|
|
||||||
Commands:
|
|
||||||
Подбор -> Расш1_ПодборПеред[Before], Расш1_ПодборПосле[After]
|
|
||||||
```
|
|
||||||
|
|
||||||
Формат: `Имя -> Обработчик [Сочетание]`
|
|
||||||
|
|
||||||
### BaseForm (расширения)
|
|
||||||
|
|
||||||
Для заимствованных форм в конце выводится:
|
|
||||||
```
|
|
||||||
BaseForm: present (version 2.17)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Что пропускается
|
|
||||||
|
|
||||||
Скрипт убирает 80%+ XML-объёма:
|
|
||||||
- Визуальные свойства (Width, Height, Color, Font, Border, Align, Stretch)
|
|
||||||
- Автогенерированные ExtendedTooltip и ContextMenu
|
|
||||||
- Мультиязычные обёртки (v8:item/v8:lang/v8:content)
|
|
||||||
- Namespace-декларации
|
|
||||||
- Атрибуты id
|
|
||||||
|
|
||||||
Для точечного изучения деталей — используйте grep по имени элемента из сводки.
|
|
||||||
|
|
||||||
## Когда использовать
|
|
||||||
|
|
||||||
- **Перед модификацией формы**: понять структуру, найти нужную группу для вставки элемента
|
|
||||||
- **Анализ формы**: какие реквизиты, команды, обработчики задействованы
|
|
||||||
- **Навигация по большим формам**: 28K строк XML → 50-100 строк контекста
|
|
||||||
|
|
||||||
## Защита от переполнения
|
|
||||||
|
|
||||||
Вывод ограничен 150 строками по умолчанию. При превышении:
|
|
||||||
```
|
|
||||||
[TRUNCATED] Shown 150 of 220 lines. Use -Offset 150 to continue.
|
|
||||||
```
|
|
||||||
|
|
||||||
Используйте `-Offset N` и `-Limit N` для постраничного просмотра.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user