mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-30 00:16:56 +03:00
feat(meta-compile,meta-decompile): батч object-свойств каталога (v1.18/v0.13)
Object-уровневые свойства каталога, которые компилятор хардкодил, стали DSL-ключами omit-on-default (зеркало батча реквизитов). Class-2 фикс: CreateOnInput дефолт DontUse→Use (модальное значение платформы, 1163). Новые скалярные ключи: useStandardCommands, editType, includeHelpInContents, choiceHistoryOnInput, predefinedDataUpdate, searchStringModeOnInputByString, createOnInput. Object comment теперь пробрасывается. 10 ключей форм по умолчанию (default*Form/auxiliary*Form) — ссылки verbatim. Декомпилятор эмитит все эти ключи (+ уже поддержанные defaultPresentation/quickChoice/ choiceMode/fullTextSearch). Хелперы Get-BoolProp (presence-aware) и Emit-FormRef; +4 enum в validEnumValues. Все root-уровневые object-property диффы = 0 на выборке (rt-op, baseline ~5.6k), регресс 40/40 ps1+py (12 снэпшотов CreateOnInput DontUse→Use). spec §7.1, кейс catalog-object-props. 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
f11fe6808d
commit
ef20f6ece8
@@ -1,4 +1,4 @@
|
||||
# meta-decompile v0.12 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
|
||||
# meta-decompile v0.13 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
#
|
||||
# Пилот: только Catalog. Инверс meta-compile (omit-on-default: ключ эмитим только
|
||||
@@ -303,6 +303,26 @@ Add-BoolProp 'quickChoice' 'QuickChoice' $false
|
||||
Add-EnumProp 'choiceMode' 'ChoiceMode' 'BothWays'
|
||||
Add-EnumProp 'dataLockControlMode' 'DataLockControlMode' 'Automatic'
|
||||
Add-EnumProp 'fullTextSearch' 'FullTextSearch' 'Use'
|
||||
Add-BoolProp 'useStandardCommands' 'UseStandardCommands' $true
|
||||
Add-EnumProp 'createOnInput' 'CreateOnInput' 'Use'
|
||||
Add-EnumProp 'editType' 'EditType' 'InDialog'
|
||||
Add-BoolProp 'includeHelpInContents' 'IncludeHelpInContents' $false
|
||||
Add-EnumProp 'choiceHistoryOnInput' 'ChoiceHistoryOnInput' 'Auto'
|
||||
Add-EnumProp 'predefinedDataUpdate' 'PredefinedDataUpdate' 'Auto'
|
||||
Add-EnumProp 'searchStringModeOnInputByString' 'SearchStringModeOnInputByString' 'Begin'
|
||||
|
||||
# Формы по умолчанию (компилятор пишет пусто → omit-on-empty; значение = ссылка на форму verbatim).
|
||||
function Add-FormRef { param([string]$key, [string]$tag) $v = P $tag; if ($v) { $dsl[$key] = $v } }
|
||||
Add-FormRef 'defaultObjectForm' 'DefaultObjectForm'
|
||||
Add-FormRef 'defaultFolderForm' 'DefaultFolderForm'
|
||||
Add-FormRef 'defaultListForm' 'DefaultListForm'
|
||||
Add-FormRef 'defaultChoiceForm' 'DefaultChoiceForm'
|
||||
Add-FormRef 'defaultFolderChoiceForm' 'DefaultFolderChoiceForm'
|
||||
Add-FormRef 'auxiliaryObjectForm' 'AuxiliaryObjectForm'
|
||||
Add-FormRef 'auxiliaryFolderForm' 'AuxiliaryFolderForm'
|
||||
Add-FormRef 'auxiliaryListForm' 'AuxiliaryListForm'
|
||||
Add-FormRef 'auxiliaryChoiceForm' 'AuxiliaryChoiceForm'
|
||||
Add-FormRef 'auxiliaryFolderChoiceForm' 'AuxiliaryFolderChoiceForm'
|
||||
|
||||
# Презентации (ML, компилятор пишет пусто → omit-on-empty).
|
||||
foreach ($pp in @(
|
||||
|
||||
Reference in New Issue
Block a user