mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-16 08:19:01 +03:00
feat(mxl-compile): стиль умеет все свойства формата, а не семь
Стиль описывал 7 свойств из 47, которые платформа хранит в <format>. Не было
самого частого тега корпуса — backColor (1.7 млн вхождений), а также textColor,
textPlacement, protection, hidden, indent, borderColor, textOrientation и хвоста.
Теперь ключ стиля — имя тега платформы, без исключений: помнить, какие ключи
названы по-своему, больше не нужно. Прежние align/valign/wrap продолжают
работать молча, как синонимы; там же CSS-имена (background, color,
border-bottom) и русские имена свойств. Таблицы типов значений и допустимых
значений перечислений сняты с корпуса, а не выписаны на глаз.
Рамка: пять плоских ключей (border и четыре стороны) со значением
{ style, width } либо строкой стиля; линия регистрируется в палитре <line>,
которая раньше знала только «тонкую» и «толстую» Solid. Четыре одинаковые
стороны сворачиваются в один <border> — правило проверено на корпусе:
70 265 свёрнутых форматов против 36 783 записанных по сторонам, и среди
вторых нет ни одного с четырьмя совпадающими значениями.
Цвет — нотация самой платформы: #RRGGBB, style:Имя, web:Имя, win:Имя. Первые
две пишутся дословно (префикс style объявлен в корне документа), для web и win
платформа дописывает объявление xmlns прямо на узел — делаем так же.
containsValue / valueType / controlType намеренно не заведены: это свойства
конкретной ячейки, а стиль — сущность общая, один на многие ячейки.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
c559696c5a
commit
d3c16f56c5
@@ -151,9 +151,6 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
</document>
|
||||
@@ -101,17 +101,11 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
</document>
|
||||
@@ -123,25 +123,16 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
<format>
|
||||
@@ -153,18 +144,12 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Right</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
<format>
|
||||
|
||||
@@ -159,42 +159,27 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>1</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
</document>
|
||||
@@ -194,25 +194,16 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Right</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
|
||||
@@ -174,34 +174,22 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>1</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
</document>
|
||||
@@ -140,17 +140,11 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
</document>
|
||||
@@ -548,42 +548,27 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Right</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
|
||||
@@ -117,10 +117,7 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
</format>
|
||||
</document>
|
||||
@@ -0,0 +1,153 @@
|
||||
<?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>
|
||||
<c>
|
||||
<c>
|
||||
<f>2</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>
|
||||
<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>4</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Цвет из палитры</v8:content>
|
||||
</v8:item>
|
||||
</tl>
|
||||
</c>
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>5</f>
|
||||
<parameter>Скрытое</parameter>
|
||||
</c>
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>6</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Рамка свёрнута</v8:content>
|
||||
</v8:item>
|
||||
</tl>
|
||||
</c>
|
||||
</c>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<templateMode>true</templateMode>
|
||||
<defaultFormatIndex>1</defaultFormatIndex>
|
||||
<height>2</height>
|
||||
<vgRows>2</vgRows>
|
||||
<merge>
|
||||
<r>0</r>
|
||||
<c>0</c>
|
||||
<w>3</w>
|
||||
</merge>
|
||||
<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">Dotted</v8ui:style>
|
||||
</line>
|
||||
<line width="2" gap="false">
|
||||
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
|
||||
</line>
|
||||
<line width="1" gap="false">
|
||||
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">ThinDashed</v8ui:style>
|
||||
</line>
|
||||
<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"/>
|
||||
<font faceName="Arial" height="10" bold="true" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
|
||||
<format>
|
||||
<width>20</width>
|
||||
</format>
|
||||
<format>
|
||||
<font>1</font>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
<verticalAlignment>Center</verticalAlignment>
|
||||
<textColor>style:FormTextColor</textColor>
|
||||
<backColor>#EBEBEB</backColor>
|
||||
<textPlacement>Wrap</textPlacement>
|
||||
<protection>true</protection>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>1</topBorder>
|
||||
<bottomBorder>2</bottomBorder>
|
||||
<borderColor>#C8C8C8</borderColor>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<textColor xmlns:d3p1="http://v8.1c.ru/8.1/data/ui/colors/windows">d3p1:ButtonText</textColor>
|
||||
<backColor xmlns:d3p1="http://v8.1c.ru/8.1/data/ui/colors/web">d3p1:Gainsboro</backColor>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<fillType>Parameter</fillType>
|
||||
<hidden>true</hidden>
|
||||
<textOrientation>900</textOrientation>
|
||||
<indent>2</indent>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<border>3</border>
|
||||
</format>
|
||||
</document>
|
||||
@@ -302,42 +302,27 @@
|
||||
</format>
|
||||
<format>
|
||||
<font>1</font>
|
||||
<leftBorder>1</leftBorder>
|
||||
<topBorder>1</topBorder>
|
||||
<rightBorder>1</rightBorder>
|
||||
<bottomBorder>1</bottomBorder>
|
||||
<border>1</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Center</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<textPlacement>Wrap</textPlacement>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<leftBorder>0</leftBorder>
|
||||
<topBorder>0</topBorder>
|
||||
<rightBorder>0</rightBorder>
|
||||
<bottomBorder>0</bottomBorder>
|
||||
<border>0</border>
|
||||
<horizontalAlignment>Right</horizontalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "Стиль: свойства формата платформенными именами, цвета, посторонние рамки",
|
||||
"input": {
|
||||
"columns": 4,
|
||||
"defaultWidth": 20,
|
||||
"fonts": {
|
||||
"default": { "face": "Arial", "size": 10 },
|
||||
"bold": { "face": "Arial", "size": 10, "bold": true }
|
||||
},
|
||||
"styles": {
|
||||
"шапка": {
|
||||
"font": "bold",
|
||||
"backColor": "#EBEBEB",
|
||||
"textColor": "style:FormTextColor",
|
||||
"horizontalAlignment": "Center",
|
||||
"verticalAlignment": "Center",
|
||||
"textPlacement": "Wrap",
|
||||
"protection": true
|
||||
},
|
||||
"рамка-по-сторонам": {
|
||||
"leftBorder": "Dotted",
|
||||
"topBorder": { "style": "Solid", "width": 2 },
|
||||
"bottomBorder": { "style": "ThinDashed" },
|
||||
"borderColor": "#C8C8C8"
|
||||
},
|
||||
"web-цвет": {
|
||||
"backColor": "web:Gainsboro",
|
||||
"textColor": "win:ButtonText"
|
||||
},
|
||||
"скрытая": {
|
||||
"hidden": true,
|
||||
"indent": 2,
|
||||
"textOrientation": 900
|
||||
},
|
||||
"рамка-вокруг": {
|
||||
"leftBorder": "Solid",
|
||||
"topBorder": "Solid",
|
||||
"rightBorder": "Solid",
|
||||
"bottomBorder": "Solid"
|
||||
}
|
||||
},
|
||||
"areas": [
|
||||
{
|
||||
"name": "Шапка",
|
||||
"rows": [
|
||||
{ "cells": [
|
||||
{ "col": 1, "span": 4, "style": "шапка", "text": "Отчёт о движении" }
|
||||
]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Тело",
|
||||
"rows": [
|
||||
{ "cells": [
|
||||
{ "col": 1, "style": "рамка-по-сторонам", "text": "Слева пунктир" },
|
||||
{ "col": 2, "style": "web-цвет", "text": "Цвет из палитры" },
|
||||
{ "col": 3, "style": "скрытая", "param": "Скрытое" },
|
||||
{ "col": 4, "style": "рамка-вокруг", "text": "Рамка свёрнута" }
|
||||
]}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": { "outputPath": "Template.xml" },
|
||||
"validatePath": "Template.xml",
|
||||
"expect": { "files": ["Template.xml"] }
|
||||
}
|
||||
Reference in New Issue
Block a user