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:
Nick Shirokov
2026-09-26 17:44:51 +03:00
co-authored by Claude Opus 5.5
parent 0ff848784e
commit b95dcd8f13
2 changed files with 7 additions and 4 deletions
@@ -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]