mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-01 09:17:44 +03:00
feat(form-decompile,form-compile): ConditionalAppearance формы из ring-3 (переиспользование DCS-грамматики)
Снят fast-fail на ConditionalAppearance (1304 формы, 4%). Структура — та же DCS-грамматика, что settings.conditionalAppearance дин-списка, поэтому переиспользованы Build-ConditionalAppearance (декомпилятор) и Emit-ConditionalAppearance (компилятор) как есть. Отличия от настроек списка: тег-обёртка <ConditionalAppearance> (без dcsset:, параметр wrapTag) + нет блок-мета viewMode/userSettingID + размещение (последний child <Attributes>, не отдельный Form-child). Форменный ключ conditionalAppearance (selection/filter/appearance/presentation). Scope в формах не встречается (0/6186) → fail-ring3 только при scope. Заодно фикс: мультиязык-presentation элемента CA → xsi:type="v8:LocalStringType" (был голый <dcsset:presentation>; чинит и settings CA path). Выборка 2.17: ring3 7→4 (остаток — только chart-семейство), match 211→214, CA-формы бит-в-бит. Зеркало py байт-в-байт, кейс input-fields (+conditionalAppearance: selection+filter+appearance+presentation) сертифицирован загрузкой в 1С. Регресс 40/40 (ps1+py). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
ca96a7413a
commit
5ebc02d0b3
@@ -67,6 +67,10 @@
|
||||
{ "name": "ФлагЯвный", "type": "boolean" },
|
||||
{ "name": "ФлагТумблер", "type": "boolean" },
|
||||
{ "name": "ЧисловоеПоле", "type": "number(10,2)" }
|
||||
],
|
||||
"conditionalAppearance": [
|
||||
{ "selection": ["ОбычноеПоле"], "filter": ["ЧисловоеПоле > 100"], "appearance": { "ЦветФона": "style:FormBackColor" },
|
||||
"presentation": { "ru": "Подсветка", "en": "Highlight" } }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
+32
@@ -592,5 +592,37 @@
|
||||
</v8:NumberQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<ConditionalAppearance>
|
||||
<dcsset:item>
|
||||
<dcsset:selection>
|
||||
<dcsset:item>
|
||||
<dcsset:field>ОбычноеПоле</dcsset:field>
|
||||
</dcsset:item>
|
||||
</dcsset:selection>
|
||||
<dcsset:filter>
|
||||
<dcsset:item xsi:type="dcsset:FilterItemComparison">
|
||||
<dcsset:left xsi:type="dcscor:Field">ЧисловоеПоле</dcsset:left>
|
||||
<dcsset:comparisonType>Greater</dcsset:comparisonType>
|
||||
<dcsset:right xsi:type="xs:decimal">100</dcsset:right>
|
||||
</dcsset:item>
|
||||
</dcsset:filter>
|
||||
<dcsset:appearance>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:parameter>ЦветФона</dcscor:parameter>
|
||||
<dcscor:value xsi:type="v8ui:Color">style:FormBackColor</dcscor:value>
|
||||
</dcscor:item>
|
||||
</dcsset:appearance>
|
||||
<dcsset:presentation xsi:type="v8:LocalStringType">
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Подсветка</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Highlight</v8:content>
|
||||
</v8:item>
|
||||
</dcsset:presentation>
|
||||
</dcsset:item>
|
||||
</ConditionalAppearance>
|
||||
</Attributes>
|
||||
</Form>
|
||||
|
||||
Reference in New Issue
Block a user