erf-validate

SKILL.md

/erf-validate — валидация внешнего отчёта (ERF)

Проверяет структурную корректность XML-исходников внешнего отчёта: корневую структуру, InternalInfo, свойства (включая MainDataCompositionSchema), ChildObjects, реквизиты, табличные части, уникальность имён, наличие файлов форм и макетов.

Использует тот же скрипт, что и /epf-validate — автоопределение по типу элемента (ExternalReport).

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

/erf-validate <ObjectPath>

Параметры

Параметр Обязательный По умолчанию Описание
ObjectPath да Путь к корневому XML или каталогу отчёта
MaxErrors нет 30 Остановиться после N ошибок
OutFile нет Записать результат в файл (UTF-8 BOM)

ObjectPath авторезолв: если указана директория — ищет <dirName>/<dirName>.xml.

Команда

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

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

# Проверка Серьёзность
1 Root structure: MetaDataObject/ExternalReport ERROR
2 InternalInfo: ClassId, ContainedObject, GeneratedType ERROR / WARN
3 Properties: Name, Synonym, MainDataCompositionSchema ERROR / WARN
4 ChildObjects: допустимые типы, порядок ERROR / WARN
5 Cross-references: DefaultForm, MainDCS → Template ERROR / WARN
6 Attributes: UUID, Name, Type ERROR
7 TabularSections: UUID, Name, GeneratedType, Attributes ERROR / WARN
8 Уникальность имён (Attribute, TS, Form, Template, Command) ERROR
9 Файлы: формы (.xml + Ext/Form.xml), макеты ERROR
10 Дескрипторы форм: корневая структура, uuid, Name, FormType ERROR / WARN

Вывод

=== Validation: ERF.МойОтчёт ===

[OK]    1. Root structure: MetaDataObject/ExternalReport, version 2.17
[OK]    2. InternalInfo: ClassId correct, 1 GeneratedType
[OK]    3. Properties: Name="МойОтчёт", Synonym present, MainDCS set
[OK]    4. ChildObjects: Form(1), Template(1)
[OK]    5. Cross-references: DefaultForm, MainDCS valid
[OK]    6. Attributes: none
[OK]    7. TabularSections: none
[OK]    8. Name uniqueness: 2 names, all unique
[OK]    9. File existence: 4 files verified
[OK]    10. Form descriptors: 1 checked

=== Result: 0 errors, 0 warnings ===

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

Верификация

/erf-init <Name> --with-skd        — создать отчёт с СКД
/erf-validate src/<Name>.xml        — проверить результат
/erf-build <Name>                   — собрать ERF

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

  • После /erf-init: проверить scaffold
  • После добавления формы/макета/СКД: убедиться что ChildObjects и MainDCS корректны
  • После ручного редактирования XML: выявить структурные ошибки до сборки
  • При отладке сборки: найти причину ошибки Designer
Weekly Installs
5
GitHub Stars
89
First Seen
Feb 26, 2026
Installed on
opencode5
gemini-cli5
github-copilot5
codex5
amp5
kimi-cli5