/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 для постраничного просмотра.