mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-17 15:25:23 +03:00
feat(meta-compile,meta-decompile): презентации объекта (Object/List/Extended*/Explanation, ML) (v1.25/v0.10)
Раундтрип-находка: презентации мультиязычны и непусты у многих справочников (корпус: ObjectPresentation 1316/803-multi, ListPresentation 208, Explanation 101, Extended* 69/75), компилятор писал пусто. DSL-ключи (ML, omit-on-default): objectPresentation, extendedObjectPresentation, listPresentation, extendedListPresentation, explanation. Эмиссия через Emit-MLText во всех 8 местах (типы, где эти свойства есть — безопасно: без ключа → self-close = прежнее поведение). Декомпилятор захватывает через Get-MLValue. spec §7.1; тест-кейс catalog-attr-ml расширен. Валидация: PS==PY; ObjectPresentation/ListPresentation impact 0; −17135 (70571→53436, вкл. добитый пробельный ToolTip-остаток нормализацией); регресс 37/37; 1С-cert зелёный. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
40cdd57619
commit
1701bdac96
@@ -1,4 +1,4 @@
|
||||
# meta-decompile v0.9 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
|
||||
# meta-decompile v0.10 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
#
|
||||
# Пилот: только Catalog. Инверс meta-compile (omit-on-default: ключ эмитим только
|
||||
@@ -274,6 +274,15 @@ Add-EnumProp 'choiceMode' 'ChoiceMode' 'BothWays'
|
||||
Add-EnumProp 'dataLockControlMode' 'DataLockControlMode' 'Automatic'
|
||||
Add-EnumProp 'fullTextSearch' 'FullTextSearch' 'Use'
|
||||
|
||||
# Презентации (ML, компилятор пишет пусто → omit-on-empty).
|
||||
foreach ($pp in @(
|
||||
@('ObjectPresentation','objectPresentation'), @('ExtendedObjectPresentation','extendedObjectPresentation'),
|
||||
@('ListPresentation','listPresentation'), @('ExtendedListPresentation','extendedListPresentation'),
|
||||
@('Explanation','explanation'))) {
|
||||
$pv = Get-MLValue ($props.SelectSingleNode("md:$($pp[0])", $nsm))
|
||||
if ($null -ne $pv) { $dsl[$pp[1]] = $pv }
|
||||
}
|
||||
|
||||
# --- StandardAttributes: блок есть ⟺ кастомизация ≥1 стандартного реквизита.
|
||||
# Захватываем ОТКЛОНЕНИЯ от профиля материализованного блока (профиль компилятор восстановит сам).
|
||||
# Профиль Catalog: Owner{FC=ShowError,FFV=true}, Parent{FFV=true}, Description{FC=ShowError}. ---
|
||||
|
||||
Reference in New Issue
Block a user