diff --git a/.claude/skills/skd-edit/SKILL.md b/.claude/skills/skd-edit/SKILL.md index d3dcfab9..1b69b351 100644 --- a/.claude/skills/skd-edit/SKILL.md +++ b/.claude/skills/skd-edit/SKILL.md @@ -193,6 +193,17 @@ OrGroup: несколько условий через ` or ` в `when` объе **Важно**: для параметров данных используйте префикс `ПараметрыДанных.` в поле фильтра. +### add-drilldown — подключить расшифровку к ресурсам в шаблонах + +Value — имена ресурсов (как в полях/вычисляемых полях СКД) через запятую. + +``` +"ПоступлениеИзПроизводства, ВыбытиеПрочее" +"Сумма_Дт83, Сумма_Дт99, Сумма_68, Сумма_84" +``` + +Подключает DrillDown по `ИмяРесурса` ко всем шаблонам, содержащим указанные ресурсы. Идемпотентно. + ### set-query — заменить текст запроса Не поддерживает пакетный режим. Value — полный текст запроса или `@path/to/file.sql` (ссылка на внешний файл). Путь разрешается относительно Template.xml, затем CWD. diff --git a/.claude/skills/skd-edit/scripts/skd-edit.ps1 b/.claude/skills/skd-edit/scripts/skd-edit.ps1 index ce9d3c5c..3becbe8b 100644 --- a/.claude/skills/skd-edit/scripts/skd-edit.ps1 +++ b/.claude/skills/skd-edit/scripts/skd-edit.ps1 @@ -1,4 +1,4 @@ -# skd-edit v1.7 — Atomic 1C DCS editor +# skd-edit v1.8 — Atomic 1C DCS editor # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -8,7 +8,7 @@ param( [ValidateSet( "add-field","add-total","add-calculated-field","add-parameter","add-filter", "add-dataParameter","add-order","add-selection","add-dataSetLink", - "add-dataSet","add-variant","add-conditionalAppearance", + "add-dataSet","add-variant","add-conditionalAppearance","add-drilldown", "set-query","patch-query","set-outputParameter","set-structure", "modify-field","modify-filter","modify-dataParameter","modify-parameter", "clear-selection","clear-order","clear-filter", @@ -1526,6 +1526,12 @@ if ($Operation -eq "set-query" -or $Operation -eq "set-structure" -or $Operation $values = @($Value) } elseif ($Operation -eq "patch-query") { $values = @($Value -split ';;' | Where-Object { $_.Trim() }) +} elseif ($Operation -eq "add-drilldown") { + if ($Value.Contains(';;')) { + $values = @($Value -split ';;' | ForEach-Object { $_.Trim() } | Where-Object { $_ }) + } else { + $values = @($Value -split ',' | ForEach-Object { $_.Trim() } | Where-Object { $_ }) + } } else { $values = @($Value -split ';;' | ForEach-Object { $_.Trim() } | Where-Object { $_ }) } @@ -2538,6 +2544,155 @@ switch ($Operation) { Write-Host "[OK] Filter for `"$fieldName`" removed from variant `"$varName`"" } } + + "add-drilldown" { + # String-based manipulation — templates use dcsat namespace with inline xmlns + $rawText = [System.IO.File]::ReadAllText($resolvedPath, [System.Text.Encoding]::UTF8) + $nl = "`r`n" + $dcsatNsDecl = 'xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template"' + + # Find all outer