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