fix(mxl-compile): неоформленная ячейка ссылается на формат по умолчанию

Платформа держит для неоформленного макета ОДИН формат — ширину колонки, он же
defaultFormatIndex, и все ячейки указывают на него. Компилятор заводил каждой ячейке
собственный формат с <font>0</font>, где ноль означает «шрифт не задан», то есть
формат был пуст по смыслу и отличался от умолчания только своим существованием.

Теперь ячейка, у которой не задано ничего (шрифт умолчательный, нет рамок,
выравнивания, переноса, типа заполнения и формата числа), ссылается на
defaultFormatIndex. На минимальном макете палитра сократилась с двух форматов до
одного и совпала по форме с платформенной.

На корпусе правка закрывает случай неоформленной ячейки начисто: на макете
АтрибВыгрузкиXML2015Кв1 расхождения по формату исчезли полностью, блок диффа
сократился с 75 строк до 40, и всё оставшееся — многоязычный текст. В агрегате по
пилоту это 497 строк из 64 865: остальное держат макеты, где ячейки реально
оформлены, и там расходится состав самих форматов — отдельная категория.

Дрейф 18 снэпшотов разобран построчно, посторонних строк нет: 170 сменившихся
индексов <f>, 36 границ <format> (палитра стала короче), 18 удалённых <font>.

Проверено: тесты 53/53 на обоих рантаймах, verify-snapshots 23/23.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-10 20:20:35 +03:00
co-authored by Claude Opus 5
parent 66c7364c37
commit 572b75984a
20 changed files with 107 additions and 141 deletions
@@ -18,7 +18,7 @@
<c>
<i>0</i>
<c>
<f>2</f>
<f>1</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -30,7 +30,7 @@
<c>
<i>1</i>
<c>
<f>2</f>
<f>1</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -42,7 +42,7 @@
<c>
<i>2</i>
<c>
<f>2</f>
<f>1</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -71,7 +71,4 @@
<format>
<width>10</width>
</format>
<format>
<font>0</font>
</format>
</document>