mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-17 23:35:22 +03:00
role-validate: remove MetadataPath param, auto-detect from RightsPath (Roles/Name/Ext/Rights.xml → Roles/Name.xml). Always validate metadata when file exists (was 7 checks, now 10). Deduplicate path computation. SKILL.md: remove redundant auto-resolve notes (placeholder already shows directory path), fix role-validate examples, replace mxl-validate ProcessorName/TemplateName with concrete path examples. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.0 KiB
3.0 KiB
name, description, argument-hint, allowed-tools
| name | description | argument-hint | allowed-tools | |||
|---|---|---|---|---|---|---|
| form-validate | Валидация управляемой формы 1С. Используй после создания или модификации формы для проверки корректности. При наличии BaseForm автоматически проверяет callType и ID расширений | <FormPath> [-Detailed] [-MaxErrors 30] |
|
/form-validate — валидация управляемой формы 1С
Проверяет Form.xml на структурные ошибки: уникальность ID, наличие companion-элементов, корректность ссылок DataPath и команд.
Использование
/form-validate <FormPath>
/form-validate src/МояОбработка/Forms/Форма/Ext/Form.xml
Параметры
| Параметр | Обяз. | Умолч. | Описание |
|---|---|---|---|
| FormPath | да | — | Путь к файлу Form.xml |
| Detailed | нет | — | Показывать [OK] для каждой проверки |
| MaxErrors | нет | 30 | Остановиться после N ошибок |
Команда
powershell.exe -NoProfile -File .claude/skills/form-validate/scripts/form-validate.ps1 -FormPath "<.../Forms/ИмяФормы>"
Проверки
| # | Проверка | Серьёзность |
|---|---|---|
| 1 | Корневой элемент <Form>, version="2.17" |
ERROR / WARN |
| 2 | <AutoCommandBar> присутствует, id="-1" |
ERROR |
| 3 | Уникальность ID элементов (отдельный пул) | ERROR |
| 4 | Уникальность ID реквизитов (отдельный пул) | ERROR |
| 5 | Уникальность ID команд (отдельный пул) | ERROR |
| 6 | Companion-элементы (ContextMenu, ExtendedTooltip, и др.) | ERROR |
| 7 | DataPath → ссылается на существующий реквизит | ERROR |
| 8 | CommandName кнопок → ссылается на существующую команду | ERROR |
| 9 | События имеют непустые имена обработчиков | ERROR |
| 10 | Команды имеют Action (обработчик) | ERROR |
| 11 | Не более одного MainAttribute | ERROR |
| 12 | BaseForm: наличие и version (при расширении) | OK / WARN |
| 13 | callType значения: Before, After, Override | ERROR |
| 14 | ID расширения >= 1000000 для добавленных attrs/commands | WARN |
| 15 | callType без BaseForm — некорректная структура | WARN |
Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. -Detailed для поштучной детализации.