Files
cc-1c-skills/tests/skills/cases/mxl-compile/snapshots/format-strings/Template.xml
T
Nick ShirokovandClaude Opus 5 ba25aa4a00 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>
2026-08-11 18:36:41 +03:00

171 lines
3.6 KiB
XML

<?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>4</size>
</columns>
<rowsItem>
<index>0</index>
<row>
<formatIndex>2</formatIndex>
<c>
<c>
<f>3</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>3</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Товар</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>3</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кол-во</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>3</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Цена</v8:content>
</v8:item>
</tl>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>1</index>
<row>
<formatIndex>4</formatIndex>
<c>
<c>
<f>6</f>
<parameter>Дата</parameter>
</c>
</c>
<c>
<c>
<f>7</f>
<parameter>Товар</parameter>
</c>
</c>
<c>
<c>
<f>8</f>
<parameter>Количество</parameter>
</c>
</c>
<c>
<c>
<f>8</f>
<parameter>Цена</parameter>
</c>
</c>
</row>
</rowsItem>
<templateMode>true</templateMode>
<defaultFormatIndex>1</defaultFormatIndex>
<height>2</height>
<vgRows>2</vgRows>
<namedItem xsi:type="NamedItemCells">
<name>Строка</name>
<area>
<type>Rows</type>
<beginRow>1</beginRow>
<endRow>1</endRow>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<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>10</width>
</format>
<format>
<border>0</border>
<horizontalAlignment>Center</horizontalAlignment>
</format>
<format>
<font>0</font>
<border>0</border>
<horizontalAlignment>Center</horizontalAlignment>
</format>
<format>
<border>0</border>
</format>
<format>
<font>0</font>
<border>0</border>
</format>
<format>
<font>0</font>
<border>0</border>
<horizontalAlignment>Center</horizontalAlignment>
<fillType>Parameter</fillType>
<format>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДФ=dd.MM.yyyy</v8:content>
</v8:item>
</format>
</format>
<format>
<font>0</font>
<border>0</border>
<fillType>Parameter</fillType>
</format>
<format>
<font>0</font>
<border>0</border>
<horizontalAlignment>Right</horizontalAlignment>
<fillType>Parameter</fillType>
<format>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ЧЦ=15; ЧДЦ=2</v8:content>
</v8:item>
</format>
</format>
</document>