mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-18 23:55:53 +03:00
fix(meta-*): двоичные данные с длиной, корень реестра в py, ХранилищеЗначения в meta-info
Мелкие находки ревью, по одному кейсу на каждую: - meta-compile: BinaryData(N[,fixed|variable]) — фиксированная длина больше не теряется; голая форма по-прежнему 4294967292/Fixed, как её пишет платформа при импорте из СУБД. Посторонний текст в скобках (BinaryData(abc)) отвергается, а не даёт тихий безлимит — PS принимал его и молча подставлял дефолт, py такой тип не понимал вовсе. - meta-decompile: сворачивает в голый BinaryData только точное совпадение с этим дефолтом. - meta-info: xs:base64Binary без квалификаторов — вторая форма ХранилищаЗначения, а не двоичные данные; раньше два навыка читали один и тот же узел по-разному. - meta-remove (py): в ветке «файлов нет» корень реестра был жёстко Configuration, поэтому осиротевшая таблица внешнего источника не находилась и навык падал, тогда как PS её разрегистрировал. Сообщение в обоих портах теперь называет реальный реестр. Проверено: наборы meta-compile/decompile/info/remove/edit/validate зелёные в обоих рантаймах, гарды прошли, снэпшот eds-binary-data принят платформой 8.3.24.1691. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
This commit is contained in:
co-authored by
Claude Opus 5
parent
7dc401718f
commit
a38f30c9dd
@@ -1,4 +1,4 @@
|
||||
# meta-info v1.12 — Compact summary of 1C metadata object
|
||||
# meta-info v1.13 — Compact summary of 1C metadata object
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
[CmdletBinding(PositionalBinding=$false)]
|
||||
param(
|
||||
@@ -233,7 +233,12 @@ function Format-SingleType([string]$raw, $parentNode) {
|
||||
}
|
||||
"v8:ValueStorage" { return "ХранилищеЗначения" }
|
||||
"v8:UUID" { return "УникальныйИдентификатор" }
|
||||
"xs:base64Binary" { return "ДвоичныеДанные" }
|
||||
"xs:base64Binary" {
|
||||
# ДвоичныеДанные только при своих квалификаторах: без них это вторая форма
|
||||
# ХранилищаЗначения, которую платформа принимает (так же различает meta-decompile).
|
||||
$bq = $parentNode.SelectSingleNode("v8:BinaryDataQualifiers", $ns)
|
||||
if ($bq) { return "ДвоичныеДанные" } else { return "ХранилищеЗначения" }
|
||||
}
|
||||
"v8:Null" { return "Null" }
|
||||
default {
|
||||
# Normalize d5p1:/dNpN: -> cfg:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# meta-info v1.12 — Compact summary of 1C metadata object (Python port)
|
||||
# meta-info v1.13 — Compact summary of 1C metadata object (Python port)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import os
|
||||
@@ -320,7 +320,10 @@ def format_single_type(raw, parent_node):
|
||||
if raw == "v8:UUID":
|
||||
return "УникальныйИдентификатор"
|
||||
if raw == "xs:base64Binary":
|
||||
return "ДвоичныеДанные"
|
||||
# ДвоичныеДанные только при своих квалификаторах: без них это вторая форма
|
||||
# ХранилищаЗначения, которую платформа принимает (так же различает meta-decompile).
|
||||
bq = find(parent_node, "v8:BinaryDataQualifiers")
|
||||
return "ДвоичныеДанные" if bq is not None else "ХранилищеЗначения"
|
||||
if raw == "v8:Null":
|
||||
return "Null"
|
||||
# Normalize d5p1:/dNpN: → cfg: (both map to same namespace)
|
||||
|
||||
Reference in New Issue
Block a user