From cdf0944b2fba9f73942c2c6fc70eac5f8bcf9236 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Mon, 3 Aug 2026 22:59:30 +0300 Subject: [PATCH] =?UTF-8?q?fix(meta-info):=20=D0=B8=D0=BC=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20=D0=B2=D0=BC=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=BE=20=D1=81=D0=BA=D0=BB=D0=B5=D0=B5=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=20XML?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Get-SimpleChildren брала InnerText дочернего узла ChildObjects. Для Form и Template это верно — имя лежит прямо в тексте узла. Command же имеет вложенный Properties, и InnerText склеивал всё его содержимое в одну строку: Команды: БанковскиеСчета_ИнтерфейсИнтеграцииСБанкомruБанковские счетаForm NavigationPanelImportantcfg:CatalogRef.ОрганизацииSinglefalseAutoAuto Теперь имя берётся из Properties/Name, если оно есть, иначе — прежний InnerText. Задеты обе точки вывода: overview у отчётов и обработок и full у всех типов. Co-Authored-By: Claude Opus 5 --- .claude/skills/meta-info/scripts/meta-info.ps1 | 7 +++++-- .claude/skills/meta-info/scripts/meta-info.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.claude/skills/meta-info/scripts/meta-info.ps1 b/.claude/skills/meta-info/scripts/meta-info.ps1 index c7f1e4fa..c61a8cae 100644 --- a/.claude/skills/meta-info/scripts/meta-info.ps1 +++ b/.claude/skills/meta-info/scripts/meta-info.ps1 @@ -1,4 +1,4 @@ -# meta-info v1.4 — Compact summary of 1C metadata object +# meta-info v1.5 — Compact summary of 1C metadata object # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory=$true)][Alias('Path')][string]$ObjectPath, @@ -329,7 +329,10 @@ function Get-MaxNameLen($attrs) { function Get-SimpleChildren($parentNode, [string]$tag) { $result = @() foreach ($child in $parentNode.SelectNodes("md:$tag", $ns)) { - $result += $child.InnerText + # Form/Template в ChildObjects — простые узлы с именем в тексте, а Command — узел + # с вложенным Properties: у него InnerText склеил бы всё содержимое в одну строку. + $nameNode = $child.SelectSingleNode("md:Properties/md:Name", $ns) + if ($nameNode) { $result += $nameNode.InnerText } else { $result += $child.InnerText } } return $result } diff --git a/.claude/skills/meta-info/scripts/meta-info.py b/.claude/skills/meta-info/scripts/meta-info.py index fd334341..3122f905 100644 --- a/.claude/skills/meta-info/scripts/meta-info.py +++ b/.claude/skills/meta-info/scripts/meta-info.py @@ -1,4 +1,4 @@ -# meta-info v1.4 — Compact summary of 1C metadata object (Python port) +# meta-info v1.5 — Compact summary of 1C metadata object (Python port) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import os @@ -381,7 +381,10 @@ def get_max_name_len(attrs): def get_simple_children(parent_node, tag): result = [] for child in find_all(parent_node, f"md:{tag}"): - result.append(inner_text(child)) + # Form/Template в ChildObjects — простые узлы с именем в тексте, а Command — узел + # с вложенным Properties: у него inner_text склеил бы всё содержимое в одну строку. + name_node = find(child, "md:Properties/md:Name") + result.append(inner_text(name_node) if name_node is not None else inner_text(child)) return result