Files
cc-1c-skills/.claude/skills/form-validate/SKILL.md
T
Nick ShirokovandClaude Opus 4.6 28b967f591 feat(cfe,form): add borrowed form support across 6 skills
- cfe-borrow: borrow forms via Type.Name.Form.FormName, auto-borrow parent,
  generate Form.xml with BaseForm + metadata + empty Module.bsl
- form-edit: formEvents, elementEvents, callType on events/commands,
  auto-detect extension mode (IDs 1000000+)
- form-info: [EXTENSION] marker, callType on events/commands, BaseForm footer
- form-validate: callType value checks, extension ID range warnings,
  BaseForm presence, callType-without-BaseForm detection
- cfe-diff: form-level analysis in Mode A — borrowed/own forms,
  callType interceptors on events and commands
- cfe-patch-method: warn if Form.xml missing for .Form. paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 14:59:16 +03:00

4.4 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
form-validate Валидация управляемой формы 1С. Используй после создания или модификации формы для проверки корректности <FormPath>
Bash
Read
Glob

/form-validate — Валидатор формы

Проверяет Form.xml управляемой формы на структурные ошибки: уникальность ID, наличие companion-элементов, корректность ссылок DataPath и команд.

Использование

/form-validate <FormPath>

Параметры

Параметр Обязательный По умолчанию Описание
FormPath да Путь к файлу Form.xml
MaxErrors нет 30 Остановиться после N ошибок

Команда

powershell.exe -NoProfile -File .claude/skills/form-validate/scripts/form-validate.ps1 -FormPath "<путь>"

Выполняемые проверки

# Проверка Серьёзность
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

Вывод

=== Validation: ФормаДокумента ===

[OK]    Root element: Form version=2.17
[OK]    AutoCommandBar: name='ФормаКоманднаяПанель', id=-1
[OK]    Unique element IDs: 96 elements
[OK]    Unique attribute IDs: 38 entries
[OK]    Unique command IDs: 5 entries
[OK]    Companion elements: 86 elements checked
[OK]    DataPath references: 53 paths checked
[OK]    Command references: 2 buttons checked
[OK]    Event handlers: 41 events checked
[OK]    Command actions: 5 commands checked
[OK]    MainAttribute: 1 main attribute

---
Total: 96 elements, 38 attributes, 5 commands
All checks passed.

Код возврата: 0 = все проверки пройдены, 1 = есть ошибки.

Расширения

При обнаружении <BaseForm> автоматически активируются дополнительные проверки:

  • Валидность значений callType (Before/After/Override)
  • ID расширения >= 1000000 для добавленных атрибутов и команд
  • Наличие version на <BaseForm>

Формы без <BaseForm> проверяются только стандартными проверками.

Когда использовать

  • После /form-compile: проверить корректность сгенерированной формы
  • После /form-edit: проверить добавленные элементы, особенно в extension-формах
  • После ручного редактирования Form.xml: убедиться что ID уникальны, companions на месте, ссылки валидны
  • При отладке: выявить ошибки в структуре формы до сборки EPF