From b95dcd8f13b2f54efad53eb6088877cd884587f6 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 26 Sep 2026 17:44:51 +0300 Subject: [PATCH] =?UTF-8?q?fix(meta-edit):=20remove-*=20=D1=83=20=D0=BE?= =?UTF-8?q?=D0=B1=D1=8B=D1=87=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BE=D0=B1=D1=8A?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B1=D0=B5=D0=B7=20=D1=8D=D0=BB?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=20=D1=81=D0=B2=D0=BE=D0=B9?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=B0-=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0?= =?UTF-8?q?=20=E2=80=94=20=D0=BE=D1=82=D0=BA=D0=B0=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit add/set на файле без элемента уже отказывали («файл не из выгрузки платформы?»), а remove печатал WARN и выходил с кодом 0. У заимствованного объекта отсутствие элемента по-прежнему значит «удалять нечего» — предупреждение. Co-Authored-By: Claude Opus 5.5 (1M context) --- .claude/skills/meta-edit/scripts/meta-edit.ps1 | 5 +++-- .claude/skills/meta-edit/scripts/meta-edit.py | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.claude/skills/meta-edit/scripts/meta-edit.ps1 b/.claude/skills/meta-edit/scripts/meta-edit.ps1 index 2a6ed988a..bd1f1deff 100644 --- a/.claude/skills/meta-edit/scripts/meta-edit.ps1 +++ b/.claude/skills/meta-edit/scripts/meta-edit.ps1 @@ -1,4 +1,4 @@ -# meta-edit v1.58 — Edit existing 1C metadata object XML +# meta-edit v1.59 — Edit existing 1C metadata object XML # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -3605,10 +3605,11 @@ function Get-ListPropertyElement([string]$propName, [bool]$create) { Die "Свойство '$propName' заимствованного объекта $($script:objType).$($script:objName) расширение не меняет — значение берётся из основной конфигурации" } $propEl = Find-PropertyElement $propName - if ($propEl -or -not $create) { return $propEl } + if ($propEl) { return $propEl } if (-not $isAdopted) { Die "В Properties объекта $($script:objType).$($script:objName) нет элемента '$propName' — файл не из выгрузки платформы?" } + if (-not $create) { return $null } $newNodes = Import-Fragment "<$propName/>" Insert-PropertyInOrder $script:propertiesEl $newNodes[0] $null $propName return $newNodes[0] diff --git a/.claude/skills/meta-edit/scripts/meta-edit.py b/.claude/skills/meta-edit/scripts/meta-edit.py index 118710f3c..e342cc285 100644 --- a/.claude/skills/meta-edit/scripts/meta-edit.py +++ b/.claude/skills/meta-edit/scripts/meta-edit.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# meta-edit v1.58 — Edit existing 1C metadata object XML +# meta-edit v1.59 — Edit existing 1C metadata object XML # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -3541,10 +3541,12 @@ def get_list_property_element(prop_name, create): if is_adopted and obj_type not in (map_entry or {}).get("adopted", []): die(f"Свойство '{prop_name}' заимствованного объекта {obj_type}.{obj_name} расширение не меняет — значение берётся из основной конфигурации") prop_el = find_property_element(prop_name) - if prop_el is not None or not create: + if prop_el is not None: return prop_el if not is_adopted: die(f"В Properties объекта {obj_type}.{obj_name} нет элемента '{prop_name}' — файл не из выгрузки платформы?") + if not create: + return None new_nodes = import_fragment(f"<{prop_name}/>") insert_property_in_order(properties_el, new_nodes[0], None, prop_name) return new_nodes[0]