Files
cc-1c-skills/tests/skills/cases/mxl-compile/snapshots/column-widths/Template.xml
T
Nick ShirokovandClaude Opus 5 cbe7abdcbb fix(mxl-compile): не эмитить fillType=Text, UUID для идентификатора раскладки
Две правки по корпусу и по 1С-сертификации.

fillType=Text платформа практически не пишет: на выборке корпуса 344 981 текстовая
ячейка из 348 023 (99,1%) ссылается на формат БЕЗ fillType — наличие <tl> и так
означает текст. Parameter и Template платформа пишет, их оставляем. Правило то же,
что и везде: эмитим то, что эмитит платформа, а не то, что верно в рантайме.

Идентификатор колоночной раскладки платформа хранит как UUID и другой не принимает —
макет с <id>узкая</id> она отвергала целиком. Имя, похожее на UUID (то есть пришедшее
декомпиляцией), проходит насквозь, иначе поехал бы раундтрип; читаемое имя автора
превращается в UUID ДЕТЕРМИНИРОВАННО, из хэша имени, чтобы повторная компиляция
давала тот же файл. Оба порта дают одинаковый хэш.

Дефект с идентификатором нашла 1С-сертификация: ни юнит-кейсы, ни раундтрип по
корпусу его не видели — там идентификаторы приходят из исходных макетов и уже
являются UUID.

Дрейф 33 снэпшотов разобран построчно, посторонних строк нет: 116 сменившихся
индексов формата, 49 удалённых fillType, 43 перестановки свойств внутри палитры,
16 границ <format> (палитра стала короче).

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

Замечание на будущее: на корпусе эта правка снимает лишь 170 расхождений из 64 865
в категории формата ячейки. Основная причина другая — платформа даёт неоформленной
ячейке ссылку на формат по умолчанию, а компилятор заводит ей собственный формат
с <font>. Это отдельный заход, он сдвинет снэпшоты повторно.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 19:58:35 +03:00

165 lines
3.3 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<document xmlns="http://v8.1c.ru/8.2/data/spreadsheet" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<languageSettings>
<currentLanguage>ru</currentLanguage>
<defaultLanguage>ru</defaultLanguage>
<languageInfo>
<id>ru</id>
<code>Русский</code>
<description>Русский</description>
</languageInfo>
</languageSettings>
<columns>
<size>6</size>
<columnsItem>
<index>0</index>
<column>
<formatIndex>2</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>1</index>
<column>
<formatIndex>3</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>2</index>
<column>
<formatIndex>3</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>3</index>
<column>
<formatIndex>3</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>4</index>
<column>
<formatIndex>4</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>5</index>
<column>
<formatIndex>4</formatIndex>
</column>
</columnsItem>
</columns>
<rowsItem>
<index>0</index>
<row>
<c>
<i>0</i>
<c>
<f>5</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content></v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<i>1</i>
<c>
<f>5</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кол А</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<i>2</i>
<c>
<f>5</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кол Б</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<i>3</i>
<c>
<f>5</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кол В</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<i>4</i>
<c>
<f>5</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Итог 1</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<i>5</i>
<c>
<f>5</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Итог 2</v8:content>
</v8:item>
</tl>
</c>
</c>
</row>
</rowsItem>
<templateMode>true</templateMode>
<defaultFormatIndex>1</defaultFormatIndex>
<height>1</height>
<vgRows>1</vgRows>
<namedItem xsi:type="NamedItemCells">
<name>Данные</name>
<area>
<type>Rows</type>
<beginRow>0</beginRow>
<endRow>0</endRow>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<line width="1" gap="false">
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
</line>
<font faceName="Arial" height="10" bold="false" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
<format>
<width>20</width>
</format>
<format>
<width>10</width>
</format>
<format>
<width>40</width>
</format>
<format>
<width>30</width>
</format>
<format>
<font>0</font>
<leftBorder>0</leftBorder>
<topBorder>0</topBorder>
<rightBorder>0</rightBorder>
<bottomBorder>0</bottomBorder>
</format>
</document>