feat(skd-compile): horizontal cell merge ">" in template DSL

Add ">" cell syntax for horizontal merge (ОбъединятьПоГоризонтали),
analogous to "|" for vertical merge. Enables two-level headers with
colspan in DCS templates. Also fix PY decimal formatting (30.0 → 30).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-04-06 20:41:47 +03:00
parent 321e426f98
commit e731bde7f0
6 changed files with 2424 additions and 17 deletions
@@ -0,0 +1,47 @@
{
"name": "Горизонтальное объединение ячеек (>) в шаблонах",
"params": { "outputPath": "Template.xml" },
"input": {
"dataSets": [{
"name": "Основной",
"query": "ВЫБРАТЬ Т.Счет, Т.Остаток, Т.Пост1, Т.Пост2, Т.Пост3, Т.Выб1, Т.Выб2, Т.Итого ИЗ Регистр КАК Т",
"fields": ["Счет: string", "Остаток: decimal(15,2)", "Пост1: decimal(15,2)", "Пост2: decimal(15,2)", "Пост3: decimal(15,2)", "Выб1: decimal(15,2)", "Выб2: decimal(15,2)", "Итого: decimal(15,2)"]
}],
"templates": [
{
"name": "Макет1",
"style": "header",
"widths": [30, 16, 16, 16, 16, 16, 16, 16],
"minHeight": 24.75,
"rows": [
["Счет", "Остаток", "Поступление", ">", ">", "Выбытие", ">", "Итого"],
["|", "|", "из произв.", "из п/ф", "прочее", "Реализ.", "прочее", "|"],
["К1", "К2", "К3", "К4", "К5", "К6", "К7", "К8"]
]
},
{
"name": "Макет2",
"style": "data",
"widths": [30, 16, 16, 16, 16, 16, 16, 16],
"rows": [["{Счет}", "{Остаток}", "{Пост1}", "{Пост2}", "{Пост3}", "{Выб1}", "{Выб2}", "{Итого}"]]
}
],
"settingsVariants": [{
"name": "Основной",
"settings": {
"selection": ["Auto"],
"structure": "details"
}
}]
},
"validatePath": "Template.xml",
"expect": {
"files": ["Template.xml"],
"contains": [
"ОбъединятьПоГоризонтали",
"ОбъединятьПоВертикали",
"Поступление",
"Выбытие"
]
}
}
File diff suppressed because it is too large Load Diff