Add form-validate skill for structural validation of Form.xml

Checks: unique IDs (per pool), companion elements, DataPath→attribute
refs, button→command refs, event handlers, command actions, MainAttribute.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-02-09 12:13:51 +03:00
parent cc2595b57a
commit a813c7fd46
4 changed files with 576 additions and 7 deletions
+10 -6
View File
@@ -1,6 +1,6 @@
# Управляемые формы (Form)
Навыки группы `/form-*` позволяют анализировать и генерировать управляемые формы 1С:Предприятия 8.3 из XML-исходников, не читая тысячи строк XML.
Навыки группы `/form-*` позволяют анализировать, генерировать и валидировать управляемые формы 1С:Предприятия 8.3 из XML-исходников, не читая тысячи строк XML.
## Навыки
@@ -8,6 +8,7 @@
|-------|-----------|----------|
| `/form-info` | `<FormPath>` | Компактная сводка: дерево элементов, реквизиты, команды, события |
| `/form-compile` | `<JsonPath> <OutputPath>` | Генерация Form.xml из компактного JSON-определения |
| `/form-validate` | `<FormPath>` | Валидация: уникальность ID, companions, DataPath, команды |
## Сценарии использования
@@ -157,13 +158,14 @@ Claude создаст JSON-определение и вызовет `/form-compi
### Верификация результата
После компиляции используйте `/form-info` для проверки:
После компиляции используйте `/form-validate` и `/form-info` для проверки:
```
> /form-validate src/МояОбработка/Forms/Форма/Ext/Form.xml
> /form-info src/МояОбработка/Forms/Форма/Ext/Form.xml
```
Структура в сводке должна совпадать с определением в JSON.
`/form-validate` проверит структурную корректность (ID, companions, ссылки), `/form-info` покажет результат в виде компактной сводки.
## Примеры слеш-команд
@@ -171,16 +173,18 @@ Claude создаст JSON-определение и вызовет `/form-compi
> /form-info upload/acc_8.3.24/Documents/РеализацияТоваровУслуг/Forms/ФормаДокумента/Ext/Form.xml
> /form-info src/МояОбработка/Forms/Форма/Ext/Form.xml
> /form-compile src/form.json src/МояОбработка/Forms/Форма/Ext/Form.xml
> /form-validate src/МояОбработка/Forms/Форма/Ext/Form.xml
```
## Связь с EPF-навыками
`/form-info` и `/form-compile` работают с формами из любых источников — конфигурации и внешних обработок. При работе с обработками:
Навыки `/form-*` работают с формами из любых источников — конфигурации и внешних обработок. При работе с обработками:
1. `/epf-add-form` — создать форму (каркас)
2. `/form-compile` — сгенерировать Form.xml из JSON-определения
3. `/form-info` — проверить результат
4. `/epf-build` — собрать EPF
3. `/form-validate` — проверить корректность
4. `/form-info` — проанализировать результат
5. `/epf-build` — собрать EPF
## Спецификации