feat(cfe-init): Caption и ShortCaption в корне расширения на формате 2.21

Свойства корня, добавленные форматом 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) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-06 23:08:18 +03:00
co-authored by Claude Opus 5
parent 3b1a2f64d5
commit 57c8cb6d23
5 changed files with 19 additions and 5 deletions
+6 -2
View File
@@ -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) добавила в шапку пространство палитры — ради <Color> у значений перечисления.
# Вставляем НА МЕСТО (после 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<Caption/>`r`n`t`t`t<ShortCaption/>"
}
# --- Configuration.xml ---
@@ -216,7 +220,7 @@ $cfgXml = @"
<ScriptVariant>Russian</ScriptVariant>
$defaultRolesEl
$vendorEl
$versionEl
$versionEl$f221Captions
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/>
<DetailedInformation/>
+6 -2
View File
@@ -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) добавила в шапку пространство палитры — ради <Color> у значений перечисления.
# Вставляем НА МЕСТО (после 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<Caption/>\r\n\t\t\t<ShortCaption/>"
for i in range(7):
contained_objects += f"""\t\t\t<xr:ContainedObject>
\t\t\t\t<xr:ClassId>{class_ids[i]}</xr:ClassId>
@@ -234,7 +238,7 @@ def main():
\t\t\t<ScriptVariant>Russian</ScriptVariant>
\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\t<DefaultLanguage>Language.Русский</DefaultLanguage>
\t\t\t<BriefInformation/>
\t\t\t<DetailedInformation/>
@@ -55,6 +55,8 @@
</DefaultRoles>
<Vendor/>
<Version/>
<Caption/>
<ShortCaption/>
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/>
<DetailedInformation/>
+3 -1
View File
@@ -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\"",
"<Caption/>",
"<ShortCaption/>"
]
},
{
@@ -55,6 +55,8 @@
</DefaultRoles>
<Vendor/>
<Version/>
<Caption/>
<ShortCaption/>
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/>
<DetailedInformation/>