mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-13 22:35:16 +03:00
Auto-set DefaultForm for the first form added
When adding the first form to a processor, DefaultForm is now set automatically without requiring the --main flag. The --main flag is still available to reassign DefaultForm to a different form. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -25,7 +25,7 @@ allowed-tools:
|
|||||||
| ProcessorName | да | — | Имя обработки (должна существовать) |
|
| ProcessorName | да | — | Имя обработки (должна существовать) |
|
||||||
| FormName | да | — | Имя формы |
|
| FormName | да | — | Имя формы |
|
||||||
| Synonym | нет | = FormName | Синоним формы |
|
| Synonym | нет | = FormName | Синоним формы |
|
||||||
| --main | нет | false | Установить как форму по умолчанию |
|
| --main | нет | авто | Установить как форму по умолчанию (автоматически для первой формы) |
|
||||||
| SrcDir | нет | `src` | Каталог исходников |
|
| SrcDir | нет | `src` | Каталог исходников |
|
||||||
|
|
||||||
## Команда
|
## Команда
|
||||||
@@ -48,7 +48,7 @@ pwsh -NoProfile -File .claude/skills/epf-add-form/scripts/add-form.ps1 -Processo
|
|||||||
|
|
||||||
## Что модифицируется
|
## Что модифицируется
|
||||||
|
|
||||||
- `<SrcDir>/<ProcessorName>.xml` — добавляется `<Form>` в `ChildObjects`, при `--main` обновляется `DefaultForm`
|
- `<SrcDir>/<ProcessorName>.xml` — добавляется `<Form>` в `ChildObjects`, обновляется `DefaultForm` (автоматически если это первая форма, или явно при `--main`)
|
||||||
|
|
||||||
## Детали
|
## Детали
|
||||||
|
|
||||||
|
|||||||
@@ -174,8 +174,11 @@ if ($firstTemplate) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# При -Main обновить DefaultForm
|
# Обновить DefaultForm: явно при -Main, или автоматически если это первая форма
|
||||||
if ($Main) {
|
$existingForms = $childObjects.SelectNodes("md:Form", $nsMgr)
|
||||||
|
$isFirstForm = ($existingForms.Count -eq 1)
|
||||||
|
|
||||||
|
if ($Main -or $isFirstForm) {
|
||||||
$defaultForm = $xmlDoc.SelectSingleNode("//md:DefaultForm", $nsMgr)
|
$defaultForm = $xmlDoc.SelectSingleNode("//md:DefaultForm", $nsMgr)
|
||||||
if ($defaultForm) {
|
if ($defaultForm) {
|
||||||
$defaultForm.InnerText = "ExternalDataProcessor.$ProcessorName.Form.$FormName"
|
$defaultForm.InnerText = "ExternalDataProcessor.$ProcessorName.Form.$FormName"
|
||||||
@@ -197,6 +200,6 @@ Write-Host "[OK] Создана форма: $FormName"
|
|||||||
Write-Host " Метаданные: $formMetaPath"
|
Write-Host " Метаданные: $formMetaPath"
|
||||||
Write-Host " Описание: $formXmlPath"
|
Write-Host " Описание: $formXmlPath"
|
||||||
Write-Host " Модуль: $modulePath"
|
Write-Host " Модуль: $modulePath"
|
||||||
if ($Main) {
|
if ($Main -or $isFirstForm) {
|
||||||
Write-Host " DefaultForm обновлён"
|
Write-Host " DefaultForm обновлён"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user