mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-30 00:16:56 +03:00
fix(skd): multilang в calcField appearance и selection lwsTitle + hidden combo
Найдено через новый debug-tool debug/skd-decompile/verify-roundtrip.ps1
(XML→decompile→compile→diff на сэмпле 30 ERP).
1. Emit-CalcFields appearance: третий дубликат-emitter с тем же
multilang-багом как был в Emit-AppearanceValue для field/cond. Унифи-
цирован через Emit-AppearanceValue. (compile.ps1+py)
2. Emit-SelectionItem: lwsTitle для folder + field-with-title
эмитили "$($item.folder)" — для hashtable получали "@{ru=X; en=Y}".
Унифицирован через Emit-MLText с новой опцией -NoXsiType
(lwsTitle в оригинале без xsi:type, в отличие от <title> в fields).
(compile.ps1+py)
3. Build-Parameter hidden detection: combo availableAsField=false +
useRestriction=true. Только availableAsField=false (без
useRestriction) → object form `availableAsField: false`.
На сэмпле 30 ERP roundtrip-diff: ADDED <content> 667 → 129
(multilang-потери в selection закрыты). Остаточные LOST <item> ~10k —
другие потери (attributeUseRestriction и проч.) — отдельная задача.
Versions: compile v1.35→v1.36, decompile v0.20→v0.21.
This commit is contained in:
+3
-37
@@ -1,45 +1,11 @@
|
||||
{
|
||||
"dataSets": [
|
||||
{
|
||||
"name": "DSОбъединение",
|
||||
"items": [{ "name": "Часть1", "objectName": "ДанныеЧасть1" }, { "name": "Часть2", "objectName": "ДанныеЧасть2" }],
|
||||
"fields": [
|
||||
"Период: date",
|
||||
"ВидРасчета: CatalogRef.ВидыРасчета",
|
||||
"Сумма: decimal(15,2)",
|
||||
"Подразделение: CatalogRef.Подразделения"
|
||||
]
|
||||
}
|
||||
],
|
||||
"dataSets": [{ "name": "DSОбъединение", "items": [{ "name": "Часть1", "objectName": "ДанныеЧасть1" }, { "name": "Часть2", "objectName": "ДанныеЧасть2" }], "fields": ["Период: date", "ВидРасчета: CatalogRef.ВидыРасчета", "Сумма: decimal(15,2)", "Подразделение: CatalogRef.Подразделения"] }],
|
||||
"settingsVariants": [
|
||||
{
|
||||
"name": "Основной",
|
||||
"settings": {
|
||||
"selection": [
|
||||
"Период",
|
||||
{ "field": "Сумма", "title": "Итого" },
|
||||
{
|
||||
"folder": "Группа итогов",
|
||||
"items": [
|
||||
"ВидРасчета",
|
||||
{ "field": "Сумма", "title": "Сумма с расшифровкой" },
|
||||
{ "folder": "Подгруппа", "items": ["Подразделение"] }
|
||||
]
|
||||
}
|
||||
],
|
||||
"structure": [
|
||||
{
|
||||
"name": "Группа1",
|
||||
"groupFields": [{ "field": "Период", "periodAdditionType": "Day" }, { "field": "Подразделение", "groupType": "Hierarchy" }],
|
||||
"children": [
|
||||
{
|
||||
"type": "nestedObject",
|
||||
"objectID": "ДанныеЧасть1",
|
||||
"settings": { "selection": ["ВидРасчета", "Сумма"] }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"selection": ["Период", { "field": "Сумма", "title": "Итого" }, { "folder": "Группа итогов", "items": ["ВидРасчета", { "field": "Сумма", "title": "Сумма с расшифровкой" }, { "folder": "Подгруппа", "items": ["Подразделение"] }] }],
|
||||
"structure": [{ "name": "Группа1", "groupFields": [{ "field": "Период", "periodAdditionType": "Day" }, { "field": "Подразделение", "groupType": "Hierarchy" }], "children": [{ "type": "nestedObject", "objectID": "ДанныеЧасть1", "settings": { "selection": ["ВидРасчета", "Сумма"] } }] }]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user