form-info

SKILL.md

/form-info — Компактная сводка формы

Читает Form.xml управляемой формы и выводит компактную сводку: дерево элементов, реквизиты с типами, команды, события. Заменяет необходимость читать тысячи строк XML.

Использование

/form-info <FormPath>

Параметры

Параметр Обязательный По умолчанию Описание
FormPath да Путь к файлу Form.xml
Limit нет 150 Макс. строк вывода (защита от переполнения)
Offset нет 0 Пропустить N строк (для пагинации)

Команда

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 "<путь>" -Offset 150

Чтение вывода

Заголовок

=== Form: ФормаДокумента — "Реализация товаров и услуг" (Documents.РеализацияТоваровУслуг) ===

Имя формы, заголовок (Title) и контекст объекта определяются из пути к файлу и XML.

Properties — свойства формы

Только нестандартные свойства (отличающиеся от умолчания). Title показывается в заголовке, не здесь:

Properties: AutoTitle=false, WindowOpeningMode=LockOwnerWindow, CommandBarLocation=Bottom

Events — обработчики событий формы

Events:
  OnCreateAtServer -> ПриСозданииНаСервере
  OnOpen -> ПриОткрытии

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 (показывает кол-во элементов вместо раскрытия)
[Popup] Popup
[BtnGroup] ButtonGroup

Флаги (только при отклонении от умолчания):

  • [visible:false] — элемент скрыт (Visible=false)
  • [enabled:false] — элемент недоступен (Enabled=false)
  • [ro] — ReadOnly=true
  • ,collapse — Behavior=Collapsible (для групп)

Привязка к данным: -> Объект.Поле — DataPath

Привязка к команде: -> ИмяКоманды [cmd] — команда формы, -> Close [std] — стандартная команда

События: {OnChange, StartChoice} — имена обработчиков

Заголовок: [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]
  Заполнить -> ЗаполнитьОбработка

Формат: Имя -> Обработчик [Сочетание]

Что пропускается

Скрипт убирает 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 для постраничного просмотра.

Weekly Installs
5
GitHub Stars
89
First Seen
Feb 26, 2026
Installed on
opencode5
gemini-cli5
github-copilot5
codex5
amp5
kimi-cli5