From 4fa57c73b566f89ecded53403ceba79e0c8ae3e6 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 30 Aug 2026 14:37:15 +0300 Subject: [PATCH] =?UTF-8?q?docs(skills):=20Language=20=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D1=91=D0=BD=20=D0=B8=D0=B7=20=D1=81=D0=BE?= =?UTF-8?q?=D1=80=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B1=D0=B5?= =?UTF-8?q?=D0=B7=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=80=D0=B0=20=E2=80=94=20?= =?UTF-8?q?=D1=82=D0=B0=D0=BA=20=D0=B8=20=D0=BD=D0=B0=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В комментарии семьи is_order_sensitive_type и в гайде причина исключения Language была подана как установленная: «порядок языков задаёт порядок в мультиязычных строках по всей выгрузке». Это гипотеза, высказанная при обсуждении, и мы её не проверяли. Основания у четырёх исключений разные, и теперь это видно: CommonAttribute — исключение самого стандарта, Subsystem и CommandGroup — замер по корпусу (в ACC 15 живых групп команд из 39 вне GroupsOrder), Language — осторожность без замера. Правка задевает тело семьи, поэтому идёт по всем пяти навыкам в обоих портах. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01QoAJmoNbgWKobA7JGgN5S3 --- .claude/skills/cf-edit/scripts/cf-edit.ps1 | 6 +++--- .claude/skills/cf-edit/scripts/cf-edit.py | 6 +++--- .claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 | 6 +++--- .claude/skills/cfe-borrow/scripts/cfe-borrow.py | 6 +++--- .claude/skills/meta-compile/scripts/meta-compile.ps1 | 6 +++--- .claude/skills/meta-compile/scripts/meta-compile.py | 6 +++--- .claude/skills/role-compile/scripts/role-compile.ps1 | 6 +++--- .claude/skills/role-compile/scripts/role-compile.py | 6 +++--- .claude/skills/xdto-compile/scripts/xdto-compile.ps1 | 6 +++--- .claude/skills/xdto-compile/scripts/xdto-compile.py | 6 +++--- docs/v8-project-guide.md | 2 +- 11 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.claude/skills/cf-edit/scripts/cf-edit.ps1 b/.claude/skills/cf-edit/scripts/cf-edit.ps1 index 4edfd8a54..9104e399f 100644 --- a/.claude/skills/cf-edit/scripts/cf-edit.ps1 +++ b/.claude/skills/cf-edit/scripts/cf-edit.ps1 @@ -1,4 +1,4 @@ -# cf-edit v1.27 — Edit 1C configuration root (Configuration.xml) +# cf-edit v1.28 — Edit 1C configuration root (Configuration.xml) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -495,8 +495,8 @@ function Get-NewObjectPosition([string]$cfgDir) { # порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: # пока они не перечислены в / файла Ext/CommandInterface.xml, # порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит -# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт -# порядок в мультиязычных строках по всей выгрузке. +# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, +# без замера: языков обычно один-два, и в типовых их порядок не алфавитный. # Явно названный вид сортируется в любом случае. # Реестр семьи: tests/skills/check-inline-drift.mjs. function Test-OrderSensitiveType([string]$typeName) { diff --git a/.claude/skills/cf-edit/scripts/cf-edit.py b/.claude/skills/cf-edit/scripts/cf-edit.py index ad2517e74..a19dd19b0 100644 --- a/.claude/skills/cf-edit/scripts/cf-edit.py +++ b/.claude/skills/cf-edit/scripts/cf-edit.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# cf-edit v1.27 — Edit 1C configuration root (Configuration.xml) +# cf-edit v1.28 — Edit 1C configuration root (Configuration.xml) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -393,8 +393,8 @@ def is_order_sensitive_type(type_name): порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: пока они не перечислены в / файла Ext/CommandInterface.xml, порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит - (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт - порядок в мультиязычных строках по всей выгрузке. + (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, + без замера: языков обычно один-два, и в типовых их порядок не алфавитный. Явно названный вид сортируется в любом случае. Реестр семьи: tests/skills/check-inline-drift.mjs. """ diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 index 6015255a2..358c763e9 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 @@ -1,4 +1,4 @@ -# cfe-borrow v1.35 — Borrow objects from configuration into extension (CFE) +# cfe-borrow v1.36 — Borrow objects from configuration into extension (CFE) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -2296,8 +2296,8 @@ function Get-NewObjectPosition([string]$cfgDir) { # порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: # пока они не перечислены в / файла Ext/CommandInterface.xml, # порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит -# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт -# порядок в мультиязычных строках по всей выгрузке. +# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, +# без замера: языков обычно один-два, и в типовых их порядок не алфавитный. # Явно названный вид сортируется в любом случае. # Реестр семьи: tests/skills/check-inline-drift.mjs. function Test-OrderSensitiveType([string]$typeName) { diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py index 595357b25..d8f5d209d 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# cfe-borrow v1.35 — Borrow objects from configuration into extension (CFE) +# cfe-borrow v1.36 — Borrow objects from configuration into extension (CFE) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -257,8 +257,8 @@ def is_order_sensitive_type(type_name): порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: пока они не перечислены в / файла Ext/CommandInterface.xml, порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит - (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт - порядок в мультиязычных строках по всей выгрузке. + (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, + без замера: языков обычно один-два, и в типовых их порядок не алфавитный. Явно названный вид сортируется в любом случае. Реестр семьи: tests/skills/check-inline-drift.mjs. """ diff --git a/.claude/skills/meta-compile/scripts/meta-compile.ps1 b/.claude/skills/meta-compile/scripts/meta-compile.ps1 index 1e930f668..6aa415f7f 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.ps1 +++ b/.claude/skills/meta-compile/scripts/meta-compile.ps1 @@ -1,4 +1,4 @@ -# meta-compile v1.101 — Compile 1C metadata object from JSON +# meta-compile v1.102 — Compile 1C metadata object from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -5273,8 +5273,8 @@ function Get-NewObjectPosition([string]$cfgDir) { # порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: # пока они не перечислены в / файла Ext/CommandInterface.xml, # порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит -# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт -# порядок в мультиязычных строках по всей выгрузке. +# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, +# без замера: языков обычно один-два, и в типовых их порядок не алфавитный. # Явно названный вид сортируется в любом случае. # Реестр семьи: tests/skills/check-inline-drift.mjs. function Test-OrderSensitiveType([string]$typeName) { diff --git a/.claude/skills/meta-compile/scripts/meta-compile.py b/.claude/skills/meta-compile/scripts/meta-compile.py index 21fb749dd..aba43c83b 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.py +++ b/.claude/skills/meta-compile/scripts/meta-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# meta-compile v1.101 — Compile 1C metadata object from JSON +# meta-compile v1.102 — Compile 1C metadata object from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -5248,8 +5248,8 @@ def is_order_sensitive_type(type_name): порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: пока они не перечислены в / файла Ext/CommandInterface.xml, порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит - (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт - порядок в мультиязычных строках по всей выгрузке. + (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, + без замера: языков обычно один-два, и в типовых их порядок не алфавитный. Явно названный вид сортируется в любом случае. Реестр семьи: tests/skills/check-inline-drift.mjs. """ diff --git a/.claude/skills/role-compile/scripts/role-compile.ps1 b/.claude/skills/role-compile/scripts/role-compile.ps1 index 8ff0f1be9..7c0828f2c 100644 --- a/.claude/skills/role-compile/scripts/role-compile.ps1 +++ b/.claude/skills/role-compile/scripts/role-compile.ps1 @@ -1,4 +1,4 @@ -# role-compile v1.34 — Compile 1C role from JSON +# role-compile v1.35 — Compile 1C role from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -1224,8 +1224,8 @@ function Get-NewObjectPosition([string]$cfgDir) { # порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: # пока они не перечислены в / файла Ext/CommandInterface.xml, # порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит -# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт -# порядок в мультиязычных строках по всей выгрузке. +# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, +# без замера: языков обычно один-два, и в типовых их порядок не алфавитный. # Явно названный вид сортируется в любом случае. # Реестр семьи: tests/skills/check-inline-drift.mjs. function Test-OrderSensitiveType([string]$typeName) { diff --git a/.claude/skills/role-compile/scripts/role-compile.py b/.claude/skills/role-compile/scripts/role-compile.py index 6187d1c0c..f1d09136b 100644 --- a/.claude/skills/role-compile/scripts/role-compile.py +++ b/.claude/skills/role-compile/scripts/role-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# role-compile v1.34 — Compile 1C role from JSON +# role-compile v1.35 — Compile 1C role from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -1095,8 +1095,8 @@ def is_order_sensitive_type(type_name): порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: пока они не перечислены в / файла Ext/CommandInterface.xml, порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит - (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт - порядок в мультиязычных строках по всей выгрузке. + (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, + без замера: языков обычно один-два, и в типовых их порядок не алфавитный. Явно названный вид сортируется в любом случае. Реестр семьи: tests/skills/check-inline-drift.mjs. """ diff --git a/.claude/skills/xdto-compile/scripts/xdto-compile.ps1 b/.claude/skills/xdto-compile/scripts/xdto-compile.ps1 index 8346bf8b2..c28190efc 100644 --- a/.claude/skills/xdto-compile/scripts/xdto-compile.ps1 +++ b/.claude/skills/xdto-compile/scripts/xdto-compile.ps1 @@ -1,4 +1,4 @@ -# xdto-compile v1.14 — Build a 1C XDTO package from an XML Schema (XSD) (+support-guard: общая реализация вместо урезанной) +# xdto-compile v1.15 — Build a 1C XDTO package from an XML Schema (XSD) (+support-guard: общая реализация вместо урезанной) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -1032,8 +1032,8 @@ function Get-NewObjectPosition([string]$cfgDir) { # порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: # пока они не перечислены в / файла Ext/CommandInterface.xml, # порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит -# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт -# порядок в мультиязычных строках по всей выгрузке. +# (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, +# без замера: языков обычно один-два, и в типовых их порядок не алфавитный. # Явно названный вид сортируется в любом случае. # Реестр семьи: tests/skills/check-inline-drift.mjs. function Test-OrderSensitiveType([string]$typeName) { diff --git a/.claude/skills/xdto-compile/scripts/xdto-compile.py b/.claude/skills/xdto-compile/scripts/xdto-compile.py index d0789a15b..98eb0a043 100644 --- a/.claude/skills/xdto-compile/scripts/xdto-compile.py +++ b/.claude/skills/xdto-compile/scripts/xdto-compile.py @@ -1,4 +1,4 @@ -# xdto-compile v1.14 — Build a 1C XDTO package from an XML Schema (XSD) (Python port) (+support-guard: общая реализация вместо урезанной) +# xdto-compile v1.15 — Build a 1C XDTO package from an XML Schema (XSD) (Python port) (+support-guard: общая реализация вместо урезанной) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -1145,8 +1145,8 @@ def is_order_sensitive_type(type_name): порядок в дереве задаёт порядок установки параметров сеанса. Subsystem и CommandGroup: пока они не перечислены в / файла Ext/CommandInterface.xml, порядок дерева задаёт порядок в интерфейсе, а платформа эти списки сама не заводит - (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language: порядок языков задаёт - порядок в мультиязычных строках по всей выгрузке. + (в выгрузке ACC вне GroupsOrder 15 живых групп из 39). Language исключён из осторожности, + без замера: языков обычно один-два, и в типовых их порядок не алфавитный. Явно названный вид сортируется в любом случае. Реестр семьи: tests/skills/check-inline-drift.mjs. """ diff --git a/docs/v8-project-guide.md b/docs/v8-project-guide.md index 8bf49c4bd..d54eecd9f 100644 --- a/docs/v8-project-guide.md +++ b/docs/v8-project-guide.md @@ -167,7 +167,7 @@ - `CommonAttribute` — исключение самого стандарта: у общих реквизитов-разделителей порядок в дереве задаёт порядок установки параметров сеанса. - `Subsystem` и `CommandGroup` — пока они не перечислены в `` / `` файла `Ext/CommandInterface.xml`, порядок в дереве задаёт порядок в интерфейсе, а платформа эти списки сама не заводит: в выгрузке ACC вне `GroupsOrder` 15 живых групп из 39, а `SubsystemsOrder` не появляется, пока интерфейс не настроен руками. -- `Language` — порядок языков задаёт порядок `` в мультиязычных строках по всей выгрузке. +- `Language` — исключён из осторожности, без замера: языков обычно один-два, порядок в типовых не алфавитный (в ERP сначала русский, потом английский), а что именно зависит от их порядка, мы не проверяли. **Что поле не делает.** Оно влияет только на новые записи и не приводит в порядок уже накопленное — для этого есть `/cf-edit -Operation sort-childObjects` (без значения он заодно ставит группы видов в канонический порядок). `byName` к тому же предполагает, что список уже упорядочен: объект встаёт перед первым объектом своего вида, чьё имя больше.