diff --git a/.claude/skills/skd-edit/scripts/skd-edit.ps1 b/.claude/skills/skd-edit/scripts/skd-edit.ps1 index e635c65a..7ae894a2 100644 --- a/.claude/skills/skd-edit/scripts/skd-edit.ps1 +++ b/.claude/skills/skd-edit/scripts/skd-edit.ps1 @@ -1,5 +1,6 @@ -# skd-edit v1.27 — Atomic 1C DCS editor +# skd-edit v1.28 — Atomic 1C DCS editor # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills +# NB: парный .py собирает выражения автодат вне f-string ради совместимости с python 3.9 (PEP 701). param( [Parameter(Mandatory)] [Alias('Path')] diff --git a/.claude/skills/skd-edit/scripts/skd-edit.py b/.claude/skills/skd-edit/scripts/skd-edit.py index 298934df..f281a849 100644 --- a/.claude/skills/skd-edit/scripts/skd-edit.py +++ b/.claude/skills/skd-edit/scripts/skd-edit.py @@ -1,4 +1,4 @@ -# skd-edit v1.27 — Atomic 1C DCS editor (Python port) +# skd-edit v1.28 — Atomic 1C DCS editor (Python port) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -1244,6 +1244,9 @@ def build_param_fragment(parsed, indent): if parsed.get("autoDates"): param_name = parsed["name"] # Canonical БСП pattern: title + valueType + value + useRestriction + expression + # NB: expr автодат собираем в переменную (не в f-string): бэкслеш в \uXXXX + # внутри {} f-строки — SyntaxError на python < 3.12 (PEP 701). Совместимость с 3.9. + expr_start = esc_xml('&' + param_name + '.\u0414\u0430\u0442\u0430\u041d\u0430\u0447\u0430\u043b\u0430') b_lines = [ f"{i}", f"{i}\t\u0414\u0430\u0442\u0430\u041d\u0430\u0447\u0430\u043b\u0430", @@ -1253,11 +1256,12 @@ def build_param_fragment(parsed, indent): f"{i}\t", f'{i}\t0001-01-01T00:00:00', f"{i}\ttrue", - f"{i}\t{esc_xml('&' + param_name + '.\u0414\u0430\u0442\u0430\u041d\u0430\u0447\u0430\u043b\u0430')}", + f"{i}\t{expr_start}", f"{i}", ] fragments.append("\n".join(b_lines)) + expr_end = esc_xml('&' + param_name + '.\u0414\u0430\u0442\u0430\u041e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f') e_lines = [ f"{i}", f"{i}\t\u0414\u0430\u0442\u0430\u041e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f", @@ -1267,7 +1271,7 @@ def build_param_fragment(parsed, indent): f"{i}\t", f'{i}\t0001-01-01T00:00:00', f"{i}\ttrue", - f"{i}\t{esc_xml('&' + param_name + '.\u0414\u0430\u0442\u0430\u041e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f')}", + f"{i}\t{expr_end}", f"{i}", ] fragments.append("\n".join(e_lines))