mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-04 17:20:52 +03:00
feat(mxl-compile,mxl-decompile): формат самой строки
У строки есть собственный формат: платформа хранит в нём скрытие (17 423 вхождения
в корпусе), шрифт (9 216), фон, выравнивания, защиту. Мы писали туда только высоту,
всё остальное теряли.
Разбор на контролируемом стенде показал, что это два разных случая, а не один.
Оформление, применённое к строке целиком, платформа пишет И строке, И каждой
ячейке (backColor: 13 899 ячеек повторяют против 96). Скрытие — только строке
(24 026 против 62 856). Поэтому одного правила «rowStyle красит ячейки» мало.
Теперь rowStyle — стиль строки: по умолчанию ложится и на строку, и на ячейки,
как это делает платформа. Объектная форма { style, apply } задаёт исключения:
"row" — только строке, "cells" — только ячейкам. Модификатор нужен раундтрипу,
в описании DSL его нет.
Скрытие и высота — собственные свойства строки, ключами рядом: у ячейки таких
свойств не бывает, и в её оформление они не попадают.
На пилоте категория row[].formatIndex упала с 1964 до 201 потерянного факта.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ccbd488d63
commit
ba25aa4a00
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"name": "Формат строки: скрытие, высота и режимы применения стиля",
|
||||
"input": {
|
||||
"columns": 3,
|
||||
"defaultWidth": 20,
|
||||
"fonts": {
|
||||
"default": { "face": "Arial", "size": 10 },
|
||||
"bold": { "face": "Arial", "size": 10, "bold": true }
|
||||
},
|
||||
"styles": {
|
||||
"фон": { "backColor": "#EBEBEB" },
|
||||
"рамка": { "border": "Solid" },
|
||||
"жирный": { "font": "bold" }
|
||||
},
|
||||
"areas": [
|
||||
{
|
||||
"name": "Тело",
|
||||
"rows": [
|
||||
{ "height": 20, "hidden": true, "cells": [
|
||||
{ "col": 1, "text": "скрытая строка" }
|
||||
]},
|
||||
{ "rowStyle": "фон", "cells": [
|
||||
{ "col": 1, "text": "и строке, и ячейкам" }
|
||||
]},
|
||||
{ "rowStyle": { "style": "жирный", "apply": "row" }, "cells": [
|
||||
{ "col": 1, "text": "только строке" }
|
||||
]},
|
||||
{ "rowStyle": { "style": "рамка", "apply": "cells" }, "cells": [
|
||||
{ "col": 1, "text": "только ячейкам" }
|
||||
]}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": { "outputPath": "Template.xml" },
|
||||
"validatePath": "Template.xml",
|
||||
"expect": { "files": ["Template.xml"] }
|
||||
}
|
||||
Reference in New Issue
Block a user