Files
cc-1c-skills/tests/skills/cases/mxl-compile/column-styles.json
T
Nick ShirokovandClaude Opus 5 4e389d0ef1 feat(mxl-compile,mxl-decompile): columnStyles — оформление колонки
У ячейки есть style, у строки rowStyle, у колонки не было ничего — при том что
колонка ссылается в ту же палитру <format> и несёт те же свойства. В корпусе
ERP колонки используют шрифт (3006 форматов), выравнивание, рамки, скрытие и
прочее; всё это терялось при раундтрипе.

Колонка получает такой же именованный стиль: columnStyles рядом с columnWidths,
ключи той же грамматики диапазонов ("1", "2-8", "5,7,9"), значение — имя из
styles. Внутри columnSets тот же ключ. Формат колонки собирается из ширины и
свойств стиля: запись в палитре одна.

Шрифт по умолчанию колонке не навязываем — формат колонки без оформления это
ровно <width>, как пишет платформа.

Попутно два дефекта декомпилятора: стиль колонки не учитывался при отсечении
неиспользуемых стилей и пропадал целиком, а набор из одних неприметных свойств
(отступ, защита) получал зарезервированное имя default и тоже терялся.

На пилоте потери в категории colset[].col[].formatIndex упали с 86 до 39.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 16:57:52 +03:00

48 lines
1.4 KiB
JSON

{
"name": "Стиль колонки — в документной раскладке и в columnSets",
"input": {
"columns": 5,
"defaultWidth": 20,
"fonts": {
"default": { "face": "Arial", "size": 10 },
"bold": { "face": "Arial", "size": 10, "bold": true }
},
"styles": {
"по-центру": { "horizontalAlignment": "Center" },
"скрытая": { "hidden": true },
"жирная-с-фоном": { "font": "bold", "backColor": "#EBEBEB" }
},
"columnWidths": { "1": 30, "2-3": 15 },
"columnStyles": { "1": "по-центру", "4": "скрытая" },
"columnSets": {
"таблица": {
"columns": 3,
"columnWidths": { "1": 12 },
"columnStyles": { "2-3": "жирная-с-фоном" }
}
},
"areas": [
{
"name": "Шапка",
"rows": [
{ "cells": [ { "col": 1, "span": 5, "text": "Заголовок" } ] }
]
},
{
"name": "Таблица",
"columnSet": "таблица",
"rows": [
{ "cells": [
{ "col": 1, "param": "Код" },
{ "col": 2, "param": "Имя" },
{ "col": 3, "param": "Сумма" }
]}
]
}
]
},
"params": { "outputPath": "Template.xml" },
"validatePath": "Template.xml",
"expect": { "files": ["Template.xml"] }
}