From 57c8cb6d2309e16fe9dd8b237720058ae336793a Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Thu, 6 Aug 2026 23:08:18 +0300 Subject: [PATCH] =?UTF-8?q?feat(cfe-init):=20Caption=20=D0=B8=20ShortCapti?= =?UTF-8?q?on=20=D0=B2=20=D0=BA=D0=BE=D1=80=D0=BD=D0=B5=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=B0?= =?UTF-8?q?=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B5=202.21?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Свойства корня, добавленные форматом 2.21, между Version и DefaultLanguage. В cf-init они уже были, в cfe-init — нет. Нашёл раундтрип расширения через базу 8.5 по сценарию из issue #57: загрузка расширения и обратная выгрузка давали диff ровно на этих двух элементах. После правки выгрузка расширения из базы 8.5 совпадает с исходниками полностью — и по составу файлов, и побайтово. 663/663 ps1, 660/663 py; 1С-сертификация cfe-init и cfe-borrow на 8.5 — 2/2. Co-Authored-By: Claude Opus 5 (1M context) --- .claude/skills/cfe-init/scripts/cfe-init.ps1 | 8 ++++++-- .claude/skills/cfe-init/scripts/cfe-init.py | 8 ++++++-- .../cfe-borrow/snapshots/format-221/Ext/Configuration.xml | 2 ++ tests/skills/cases/cfe-init/format-221.json | 4 +++- .../cfe-init/snapshots/format-221/Ext/Configuration.xml | 2 ++ 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/.claude/skills/cfe-init/scripts/cfe-init.ps1 b/.claude/skills/cfe-init/scripts/cfe-init.ps1 index e8c4dfa7..7b1d3437 100644 --- a/.claude/skills/cfe-init/scripts/cfe-init.ps1 +++ b/.claude/skills/cfe-init/scripts/cfe-init.ps1 @@ -1,4 +1,4 @@ -# cfe-init v1.6 — Create 1C configuration extension scaffold (CFE) +# cfe-init v1.7 — Create 1C configuration extension scaffold (CFE) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -161,8 +161,12 @@ function Get-FormatRank([string]$ver) { # 2.21 (8.5) добавила в шапку пространство палитры — ради у значений перечисления. # Вставляем НА МЕСТО (после lf, перед style): платформа держит объявления по алфавиту, # дописать в конец нельзя. +# Caption/ShortCaption — свойства корня из того же формата 2.21, между Version и +# DefaultLanguage (позиция снята с выгрузки расширения из базы 8.5). +$f221Captions = "" if ((Get-FormatRank $formatVersion) -ge 221) { $xmlnsDecl = $xmlnsDecl -replace ' xmlns:style=', ' xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style=' + $f221Captions = "`r`n`t`t`t`r`n`t`t`t" } # --- Configuration.xml --- @@ -216,7 +220,7 @@ $cfgXml = @" Russian $defaultRolesEl $vendorEl - $versionEl + $versionEl$f221Captions Language.Русский diff --git a/.claude/skills/cfe-init/scripts/cfe-init.py b/.claude/skills/cfe-init/scripts/cfe-init.py index 2d328d9b..32ede231 100644 --- a/.claude/skills/cfe-init/scripts/cfe-init.py +++ b/.claude/skills/cfe-init/scripts/cfe-init.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# cfe-init v1.6 — Create 1C configuration extension scaffold (CFE) +# cfe-init v1.7 — Create 1C configuration extension scaffold (CFE) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills """Generates minimal XML source files for a 1C configuration extension.""" import sys, os, re, argparse, uuid @@ -203,10 +203,14 @@ def main(): # 2.21 (8.5) добавила в шапку пространство палитры — ради у значений перечисления. # Вставляем НА МЕСТО (после lf, перед style): платформа держит объявления по алфавиту, # дописать в конец нельзя. + # Caption/ShortCaption — свойства корня из того же формата 2.21, между Version и + # DefaultLanguage (позиция снята с выгрузки расширения из базы 8.5). + f221_captions = "" if format_rank(format_version) >= 221: xmlns_decl = xmlns_decl.replace( ' xmlns:style=', ' xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style=') + f221_captions = "\r\n\t\t\t\r\n\t\t\t" for i in range(7): contained_objects += f"""\t\t\t \t\t\t\t{class_ids[i]} @@ -234,7 +238,7 @@ def main(): \t\t\tRussian \t\t\t{default_roles_el} \t\t\t{vendor_el} -\t\t\t{version_el} +\t\t\t{version_el}{f221_captions} \t\t\tLanguage.Русский \t\t\t \t\t\t diff --git a/tests/skills/cases/cfe-borrow/snapshots/format-221/Ext/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/format-221/Ext/Configuration.xml index eda5bb4a..de9fbd33 100644 --- a/tests/skills/cases/cfe-borrow/snapshots/format-221/Ext/Configuration.xml +++ b/tests/skills/cases/cfe-borrow/snapshots/format-221/Ext/Configuration.xml @@ -55,6 +55,8 @@ + + Language.Русский diff --git a/tests/skills/cases/cfe-init/format-221.json b/tests/skills/cases/cfe-init/format-221.json index 8389fbc4..2928c11c 100644 --- a/tests/skills/cases/cfe-init/format-221.json +++ b/tests/skills/cases/cfe-init/format-221.json @@ -12,7 +12,9 @@ "file": "ext/Configuration.xml", "text": [ "xmlns:lf=\"http://v8.1c.ru/8.2/managed-application/logform\" xmlns:pal=\"http://v8.1c.ru/8.1/data/ui/colors/palette\" xmlns:style=", - "version=\"2.21\"" + "version=\"2.21\"", + "", + "" ] }, { diff --git a/tests/skills/cases/cfe-init/snapshots/format-221/Ext/Configuration.xml b/tests/skills/cases/cfe-init/snapshots/format-221/Ext/Configuration.xml index 94c4a95e..ecbff8f0 100644 --- a/tests/skills/cases/cfe-init/snapshots/format-221/Ext/Configuration.xml +++ b/tests/skills/cases/cfe-init/snapshots/format-221/Ext/Configuration.xml @@ -55,6 +55,8 @@ + + Language.Русский