<< All versions

Skill v1.0.2

Automated scan100/100
ingvarconsulting/unica/form-validate

+2 new, ~1 modified

──Details
PublishedAugust 11, 2026 at 10:47 PM
Content Hashsha256:6fb09c3fce0eb81a...
Git SHAf7dd99b1ae98
Bump Typepatch
Compare with v1.0.1
──Files
Files (1 file, 4.6 KB)
SKILL.md4.6 KBactive
SKILL.md · 93 lines · 4.6 KB

version: "1.0.2" name: form-validate description: Валидация управляемой формы 1С. Используй после создания или модификации формы для проверки корректности. При наличии BaseForm автоматически проверяет callType и ID расширений argument-hint: <FormPath> [-Detailed] [-MaxErrors 30] allowed-tools:

  • Bash
  • Read
  • Glob

/form-validate — валидация управляемой формы 1С

MCP routing

  • Preferred path: use MCP unica tool unica.form.validate; unica owns XML/JSON DSL work and refreshes related workspace caches after mutations.
  • Do not call internal MCP/CLI adapters directly. They are hidden behind unica and synchronized by the orchestrator.
  • Execution path: call MCP unica tool unica.form.validate; skill-local operation scripts are not part of the workflow.
  • For mutating operations, pass dryRun: false only when the user explicitly requested the change; otherwise keep the default dry run.

Проверяет Form.xml на структурные ошибки: уникальность ID, наличие companion-элементов, корректность ссылок DataPath и команд. События формы и элементов проверяются по платформенной матрице с типом прямого главного реквизита; duplicate, пустой handler, неверный element/event и неподходящий контекст возвращают стабильные коды FORM_EVENT_*. callType допустим только в форме с прямым BaseForm и только со значениями Before, After, Override. Если у заимствованной формы нет доступного прямого главного реквизита ни в Form, ни в BaseForm, object-specific binding помечается предупреждением FORM_EVENT_CONTEXT_UNKNOWN как непроверенный; editor при добавлении такого binding остаётся консервативным и отклоняет изменение.

Параметры

ПараметрОбяз.Умолч.Описание
FormPathодин из двух—Путь к файлу Form.xml
sourceSetодин из двух—Имя набора исходников из v8project.yaml
metadataPathодин из двух—Логический адрес, например Catalog.<Объект>.Form.<Форма>
Detailedнет—Подробный вывод (все проверки, включая успешные)
MaxErrorsнет30Остановиться после N ошибок

Селектор цели ровно один: либо sourceSet + metadataPath, либо FormPath. Оба сразу отклоняются кодом selector_conflict (ADR-0049).

MCP вызов

Каталог формы

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.form.validate",
"arguments": {
"cwd": "<workspace>",
"FormPath": "Catalogs/Номенклатура/Forms/ФормаЭлемента"
}
}
}

Прямой путь к Form.xml

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.form.validate",
"arguments": {
"cwd": "<workspace>",
"FormPath": "src/МояОбработка/Forms/Форма/Ext/Form.xml"
}
}
}

Логический адрес вместо пути

unica.form.validate принимает либо логический селектор, либо файловый путь — ровно один из двух. Оба сразу отклоняются кодом selector_conflict.

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.form.validate",
"arguments": {
"cwd": "<workspace>",
"sourceSet": "<имя набора>",
"metadataPath": "Catalog.<Объект>.Form.<Форма>"
}
}
}

Имя набора даёт unica.project.map, адрес — unica.source.resolve, а unica.source.locate переводит в адрес путь, найденный иначе. Файловый селектор сохраняется до отдельного среза его снятия (ADR-0049).

← v1.0.1All versionsv1.0.3 →