From 8fb3e9421d7bcbc4cc2dd46cbfe66c3ac34b3a2b Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 21 Jun 2026 17:17:15 +0300 Subject: [PATCH] =?UTF-8?q?feat(db-dump-xml,db-load-xml):=20-AllExtensions?= =?UTF-8?q?=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20ibcmd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Закрыт последний частичный пробел расширений: -AllExtensions под ibcmd больше не ошибка, а реальные подкоманды: - db-dump-xml -AllExtensions → ibcmd infobase config export all-extensions - db-load-xml -AllExtensions → ibcmd infobase config import all-extensions (+ цепочка config apply --force при -UpdateDB) 1cv8-ветки без изменений. Версии: db-dump-xml 1.3→1.4, db-load-xml 1.7→1.8. E2E: база с двумя расширениями → export all-extensions (Ext1/Ext2) → import all-extensions обратно, оба порта; 1cv8-регресс (-AllExtensions -Mode Full) цел. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/skills/db-dump-xml/scripts/db-dump-xml.ps1 | 11 ++++------- .claude/skills/db-dump-xml/scripts/db-dump-xml.py | 9 ++++----- .claude/skills/db-load-xml/scripts/db-load-xml.ps1 | 8 +++----- .claude/skills/db-load-xml/scripts/db-load-xml.py | 7 +++---- 4 files changed, 14 insertions(+), 21 deletions(-) diff --git a/.claude/skills/db-dump-xml/scripts/db-dump-xml.ps1 b/.claude/skills/db-dump-xml/scripts/db-dump-xml.ps1 index e47aa7b8..bbb0b935 100644 --- a/.claude/skills/db-dump-xml/scripts/db-dump-xml.ps1 +++ b/.claude/skills/db-dump-xml/scripts/db-dump-xml.ps1 @@ -1,4 +1,4 @@ -# db-dump-xml v1.3 — Dump 1C configuration to XML files +# db-dump-xml v1.4 — Dump 1C configuration to XML files # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills <# .SYNOPSIS @@ -179,14 +179,11 @@ try { exit 1 } if ($AllExtensions) { - Write-Host "Error: ibcmd config export does not support -AllExtensions (use -Extension or 1cv8)" -ForegroundColor Red - exit 1 - } - if ($Mode -eq "UpdateInfo") { + $arguments = @("infobase", "config", "export", "all-extensions", "$ConfigDir", "--db-path=$InfoBasePath") + } elseif ($Mode -eq "UpdateInfo") { Write-Host "Error: ibcmd config export does not support Mode UpdateInfo; use 1cv8" -ForegroundColor Red exit 1 - } - if ($Mode -eq "Partial") { + } elseif ($Mode -eq "Partial") { $objList = @($Objects -split ',' | ForEach-Object { $_.Trim() } | Where-Object { $_ }) $arguments = @("infobase", "config", "export", "objects") + $objList $arguments += "--out=$ConfigDir", "--db-path=$InfoBasePath" diff --git a/.claude/skills/db-dump-xml/scripts/db-dump-xml.py b/.claude/skills/db-dump-xml/scripts/db-dump-xml.py index 3436dea0..5729c9eb 100644 --- a/.claude/skills/db-dump-xml/scripts/db-dump-xml.py +++ b/.claude/skills/db-dump-xml/scripts/db-dump-xml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# db-dump-xml v1.3 — Dump 1C configuration to XML files +# db-dump-xml v1.4 — Dump 1C configuration to XML files # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -125,12 +125,11 @@ def main(): print("Error: ibcmd config export supports hierarchical format only (use -Format Hierarchical or 1cv8)", file=sys.stderr) sys.exit(1) if args.AllExtensions: - print("Error: ibcmd config export does not support -AllExtensions (use -Extension or 1cv8)", file=sys.stderr) - sys.exit(1) - if args.Mode == "UpdateInfo": + arguments = ["infobase", "config", "export", "all-extensions", args.ConfigDir, f"--db-path={args.InfoBasePath}"] + elif args.Mode == "UpdateInfo": print("Error: ibcmd config export does not support Mode UpdateInfo; use 1cv8", file=sys.stderr) sys.exit(1) - if args.Mode == "Partial": + elif args.Mode == "Partial": obj_list = [o.strip() for o in args.Objects.split(",") if o.strip()] arguments = ["infobase", "config", "export", "objects"] + obj_list arguments += [f"--out={args.ConfigDir}", f"--db-path={args.InfoBasePath}"] diff --git a/.claude/skills/db-load-xml/scripts/db-load-xml.ps1 b/.claude/skills/db-load-xml/scripts/db-load-xml.ps1 index 04907e15..e40ab11a 100644 --- a/.claude/skills/db-load-xml/scripts/db-load-xml.ps1 +++ b/.claude/skills/db-load-xml/scripts/db-load-xml.ps1 @@ -1,4 +1,4 @@ -# db-load-xml v1.7 — Load 1C configuration from XML files +# db-load-xml v1.8 — Load 1C configuration from XML files # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills <# .SYNOPSIS @@ -188,10 +188,8 @@ try { exit 1 } if ($AllExtensions) { - Write-Host "Error: ibcmd config import does not support -AllExtensions (use -Extension or 1cv8)" -ForegroundColor Red - exit 1 - } - if ($Mode -eq "Partial" -or $Files -or $ListFile) { + $arguments = @("infobase", "config", "import", "all-extensions", "$ConfigDir", "--db-path=$InfoBasePath") + } elseif ($Mode -eq "Partial" -or $Files -or $ListFile) { # partial: import specific files (relative to ConfigDir) $fileList = @() if ($ListFile) { diff --git a/.claude/skills/db-load-xml/scripts/db-load-xml.py b/.claude/skills/db-load-xml/scripts/db-load-xml.py index 1ce4b15e..030c720b 100644 --- a/.claude/skills/db-load-xml/scripts/db-load-xml.py +++ b/.claude/skills/db-load-xml/scripts/db-load-xml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# db-load-xml v1.7 — Load 1C configuration from XML files +# db-load-xml v1.8 — Load 1C configuration from XML files # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -133,9 +133,8 @@ def main(): print("Error: ibcmd config import supports hierarchical format only (use -Format Hierarchical or 1cv8)", file=sys.stderr) sys.exit(1) if args.AllExtensions: - print("Error: ibcmd config import does not support -AllExtensions (use -Extension or 1cv8)", file=sys.stderr) - sys.exit(1) - if args.Mode == "Partial" or args.Files or args.ListFile: + arguments = ["infobase", "config", "import", "all-extensions", args.ConfigDir, f"--db-path={args.InfoBasePath}"] + elif args.Mode == "Partial" or args.Files or args.ListFile: # partial: import specific files (relative to ConfigDir) if args.ListFile: if not os.path.isfile(args.ListFile):