Reads the Form.xml of a managed form and outputs a compact summary: element tree, attributes with types, commands, events. Replaces the need to read thousands of lines of XML.
Usage
/form-info <FormPath>
Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
| FormPath | yes | — | Path to the Form.xml file |
| Limit | no | 150 |
Max. output lines (overflow protection) |
| Offset | no | 0 |
Skip N lines (for pagination) |
Command
powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<путь к Form.xml>"
With pagination:
powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<путь>" -Offset 150
Reading the output
Header
=== Form: ФормаДокумента — "Реализация товаров и услуг" (Documents.РеализацияТоваровУслуг) ===
The form name, title (Title), and object context are determined from the file path and the XML.
Properties — form properties
Only non-standard properties (those differing from the default). Title is shown in the header, not here:
Properties: AutoTitle=false, WindowOpeningMode=LockOwnerWindow, CommandBarLocation=Bottom
Events — form event handlers
Events:
OnCreateAtServer -> ПриСозданииНаСервере
OnOpen -> ПриОткрытии
Elements — UI element tree
Compact tree with types, data bindings, flags, and events:
Elements:
├─ [Group:AH] ГруппаШапка
│ ├─ [Input] Организация -> Объект.Организация {OnChange}
│ └─ [Input] Договор -> Объект.Договор [visible:false] {StartChoice}
├─ [Table] Товары -> Объект.Товары
│ ├─ [Input] Номенклатура -> Объект.Товары.Номенклатура {OnChange}
│ └─ [Input] Сумма -> Объект.Товары.Сумма [ro]
└─ [Pages] Страницы
├─ [Page] Основное (5 items)
└─ [Page] Печать (2 items)
Element type abbreviations:
| Abbreviation | Element |
|---|---|
[Group:V] |
UsualGroup Vertical |
[Group:H] |
UsualGroup Horizontal |
[Group:AH] |
UsualGroup AlwaysHorizontal |
[Group:AV] |
UsualGroup AlwaysVertical |
[Group] |
UsualGroup (default orientation) |
[Input] |
InputField |
[Check] |
CheckBoxField |
[Label] |
LabelDecoration |
[LabelField] |
LabelField |
[Picture] |
PictureDecoration |
[PicField] |
PictureField |
[Calendar] |
CalendarField |
[Table] |
Table |
[Button] |
Button |
[CmdBar] |
CommandBar |
[Pages] |
Pages |
[Page] |
Page (shows the number of elements instead of expanding) |
[Popup] |
Popup |
[BtnGroup] |
ButtonGroup |
Flags (only when deviating from the default):
[visible:false]— element is hidden (Visible=false)[enabled:false]— element is unavailable (Enabled=false)[ro]— ReadOnly=true,collapse— Behavior=Collapsible (for groups)
Data binding: -> Объект.Поле — DataPath
Command binding: -> ИмяКоманды [cmd] — form command, -> Close [std] — standard command
Events: {OnChange, StartChoice} — handler names
Title: [title:Текст] — only if it differs from the element name
Attributes — form attributes
Attributes:
*Объект: DocumentObject.РеализацияТоваров (main)
Валюта: CatalogRef.Валюты
Итого: decimal(15,2)
Таблица: ValueTable [Номенклатура: CatalogRef.Номенклатура, Кол: decimal(10,3)]
Список: DynamicList -> Catalog.Пользователи
*и(main)— main form attribute (MainAttribute)- ValueTable/ValueTree types expand columns into
[...] - DynamicList shows MainTable via
->
Parameters — form parameters
Parameters:
Ключ: DocumentRef.ЗакупкаТоваров (key)
Основание: DocumentRef.*
(key)— key parameter (KeyParameter)
Commands — form commands
Commands:
Печать -> ПечатьДокумента [Ctrl+P]
Заполнить -> ЗаполнитьОбработка
Format: Имя -> Обработчик [Сочетание]
What is skipped
The script removes 80%+ of the XML volume:
- Visual properties (Width, Height, Color, Font, Border, Align, Stretch)
- Auto-generated ExtendedTooltip and ContextMenu
- Multilingual wrappers (v8:item/v8:lang/v8:content)
- Namespace declarations
- id attributes
For targeted study of details — use grep by the element name from the summary.
When to use
- Before modifying the form: understand the structure, find the desired group for inserting an element
- Form analysis: which attributes, commands, handlers are involved
- Navigation through large forms: 28K lines of XML → 50-100 lines of context
Overflow protection
Output is limited to 150 lines by default. If exceeded:
[TRUNCATED] Shown 150 of 220 lines. Use -Offset 150 to continue.
Use -Offset N и -Limit N for page-by-page viewing.