diff --git a/.claude/skills/epf-add-form/SKILL.md b/.claude/skills/epf-add-form/SKILL.md index db154747..d45aecdc 100644 --- a/.claude/skills/epf-add-form/SKILL.md +++ b/.claude/skills/epf-add-form/SKILL.md @@ -25,7 +25,7 @@ allowed-tools: | ProcessorName | да | — | Имя обработки (должна существовать) | | FormName | да | — | Имя формы | | Synonym | нет | = FormName | Синоним формы | -| --main | нет | false | Установить как форму по умолчанию | +| --main | нет | авто | Установить как форму по умолчанию (автоматически для первой формы) | | SrcDir | нет | `src` | Каталог исходников | ## Команда @@ -48,7 +48,7 @@ pwsh -NoProfile -File .claude/skills/epf-add-form/scripts/add-form.ps1 -Processo ## Что модифицируется -- `/.xml` — добавляется `
` в `ChildObjects`, при `--main` обновляется `DefaultForm` +- `/.xml` — добавляется `` в `ChildObjects`, обновляется `DefaultForm` (автоматически если это первая форма, или явно при `--main`) ## Детали diff --git a/.claude/skills/epf-add-form/scripts/add-form.ps1 b/.claude/skills/epf-add-form/scripts/add-form.ps1 index 297f2189..c8a90b1f 100644 --- a/.claude/skills/epf-add-form/scripts/add-form.ps1 +++ b/.claude/skills/epf-add-form/scripts/add-form.ps1 @@ -174,8 +174,11 @@ if ($firstTemplate) { } } -# При -Main обновить DefaultForm -if ($Main) { +# Обновить DefaultForm: явно при -Main, или автоматически если это первая форма +$existingForms = $childObjects.SelectNodes("md:Form", $nsMgr) +$isFirstForm = ($existingForms.Count -eq 1) + +if ($Main -or $isFirstForm) { $defaultForm = $xmlDoc.SelectSingleNode("//md:DefaultForm", $nsMgr) if ($defaultForm) { $defaultForm.InnerText = "ExternalDataProcessor.$ProcessorName.Form.$FormName" @@ -197,6 +200,6 @@ Write-Host "[OK] Создана форма: $FormName" Write-Host " Метаданные: $formMetaPath" Write-Host " Описание: $formXmlPath" Write-Host " Модуль: $modulePath" -if ($Main) { +if ($Main -or $isFirstForm) { Write-Host " DefaultForm обновлён" }