mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-27 12:35:54 +03:00
fix(meta-edit): remove-* у обычного объекта без элемента свойства-списка — отказ
add/set на файле без элемента уже отказывали («файл не из выгрузки платформы?»), а remove печатал WARN и выходил с кодом 0. У заимствованного объекта отсутствие элемента по-прежнему значит «удалять нечего» — предупреждение. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
0ff848784e
commit
b95dcd8f13
@@ -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
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
[CmdletBinding(PositionalBinding=$false)]
|
[CmdletBinding(PositionalBinding=$false)]
|
||||||
param(
|
param(
|
||||||
@@ -3605,10 +3605,11 @@ function Get-ListPropertyElement([string]$propName, [bool]$create) {
|
|||||||
Die "Свойство '$propName' заимствованного объекта $($script:objType).$($script:objName) расширение не меняет — значение берётся из основной конфигурации"
|
Die "Свойство '$propName' заимствованного объекта $($script:objType).$($script:objName) расширение не меняет — значение берётся из основной конфигурации"
|
||||||
}
|
}
|
||||||
$propEl = Find-PropertyElement $propName
|
$propEl = Find-PropertyElement $propName
|
||||||
if ($propEl -or -not $create) { return $propEl }
|
if ($propEl) { return $propEl }
|
||||||
if (-not $isAdopted) {
|
if (-not $isAdopted) {
|
||||||
Die "В Properties объекта $($script:objType).$($script:objName) нет элемента '$propName' — файл не из выгрузки платформы?"
|
Die "В Properties объекта $($script:objType).$($script:objName) нет элемента '$propName' — файл не из выгрузки платформы?"
|
||||||
}
|
}
|
||||||
|
if (-not $create) { return $null }
|
||||||
$newNodes = Import-Fragment "<$propName/>"
|
$newNodes = Import-Fragment "<$propName/>"
|
||||||
Insert-PropertyInOrder $script:propertiesEl $newNodes[0] $null $propName
|
Insert-PropertyInOrder $script:propertiesEl $newNodes[0] $null $propName
|
||||||
return $newNodes[0]
|
return $newNodes[0]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/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
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
|
|
||||||
import argparse
|
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", []):
|
if is_adopted and obj_type not in (map_entry or {}).get("adopted", []):
|
||||||
die(f"Свойство '{prop_name}' заимствованного объекта {obj_type}.{obj_name} расширение не меняет — значение берётся из основной конфигурации")
|
die(f"Свойство '{prop_name}' заимствованного объекта {obj_type}.{obj_name} расширение не меняет — значение берётся из основной конфигурации")
|
||||||
prop_el = find_property_element(prop_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
|
return prop_el
|
||||||
if not is_adopted:
|
if not is_adopted:
|
||||||
die(f"В Properties объекта {obj_type}.{obj_name} нет элемента '{prop_name}' — файл не из выгрузки платформы?")
|
die(f"В Properties объекта {obj_type}.{obj_name} нет элемента '{prop_name}' — файл не из выгрузки платформы?")
|
||||||
|
if not create:
|
||||||
|
return None
|
||||||
new_nodes = import_fragment(f"<{prop_name}/>")
|
new_nodes = import_fragment(f"<{prop_name}/>")
|
||||||
insert_property_in_order(properties_el, new_nodes[0], None, prop_name)
|
insert_property_in_order(properties_el, new_nodes[0], None, prop_name)
|
||||||
return new_nodes[0]
|
return new_nodes[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user