mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-18 09:10:21 +03:00
Тип значения ячейки и элемент управления переживают цикл компиляции и декомпиляции. Макет стенда с полями ввода собирается из своего же JSON байт в байт. DSL: два ключа ячейки — valueType (грамматика типа семьи: примитивы с квалификаторами, ссылочные типы, категории целиком, составной через " + ") и control (input/checkbox, синонимы, GUID для неизвестных элементов, none для формата вовсе без тега). containsValue отдельным ключом не выражается: он выводится из наличия типа. Текст и шаблон в такой ячейке запрещены, параметр и расшифровка допустимы. Умолчания голых типов взяты платформенные (строка без длины безлимитна, число без параметров без ограничения разрядности), поэтому эмиттер типа свой, а не копия meta-compile; resolve_type_str скопирован из эталона семьи и объявлен в реестре дрейфа. Канон типа в ключе дедупликации палитры развёрнут: иначе разные написания одного типа дали бы две одинаковые записи формата и сдвинули бы все ссылки ячеек. mxl-validate: проверка согласованности таких форматов — тип без признака значения, ячейка с текстом и значением одновременно, посторонний тег внутри типа, формат значения у строки или колонки, неизвестный GUID элемента управления. Попутно сведены два расхождения портов mxl-validate: py молчал там, где ps1 писал строку об отсутствии шрифтов, и шапка подробного вывода печаталась в разной форме. Версии сведены: mxl-compile 1.41 в обоих портах (было 1.40/1.39). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
140 lines
3.1 KiB
XML
140 lines
3.1 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>
|
|
<c>
|
|
<c>
|
|
<f>1</f>
|
|
</c>
|
|
</c>
|
|
<c>
|
|
<c>
|
|
<f>2</f>
|
|
</c>
|
|
</c>
|
|
<c>
|
|
<c>
|
|
<f>3</f>
|
|
</c>
|
|
</c>
|
|
<c>
|
|
<c>
|
|
<f>4</f>
|
|
</c>
|
|
</c>
|
|
</row>
|
|
</rowsItem>
|
|
<rowsItem>
|
|
<index>1</index>
|
|
<row>
|
|
<formatIndex>5</formatIndex>
|
|
<c>
|
|
<c>
|
|
<f>5</f>
|
|
</c>
|
|
</c>
|
|
<c>
|
|
<c>
|
|
<f>6</f>
|
|
<parameter>Сумма</parameter>
|
|
<detailParameter>Расшифровка</detailParameter>
|
|
</c>
|
|
</c>
|
|
<c>
|
|
<c>
|
|
<f>5</f>
|
|
</c>
|
|
</c>
|
|
<c>
|
|
<c>
|
|
<f>5</f>
|
|
</c>
|
|
</c>
|
|
</row>
|
|
</rowsItem>
|
|
<templateMode>true</templateMode>
|
|
<defaultFormatIndex>7</defaultFormatIndex>
|
|
<height>2</height>
|
|
<vgRows>2</vgRows>
|
|
<namedItem xsi:type="NamedItemCells">
|
|
<name>Состояния</name>
|
|
<area>
|
|
<type>Rows</type>
|
|
<beginRow>0</beginRow>
|
|
<endRow>1</endRow>
|
|
<beginColumn>-1</beginColumn>
|
|
<endColumn>-1</endColumn>
|
|
</area>
|
|
</namedItem>
|
|
<line width="1" gap="false">
|
|
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
|
|
</line>
|
|
<format>
|
|
<containsValue>true</containsValue>
|
|
<valueType/>
|
|
<controlType>381ed624-9217-4e63-85db-c4c3cb87daae</controlType>
|
|
</format>
|
|
<format>
|
|
<containsValue>true</containsValue>
|
|
<valueType>
|
|
<v8:Type>xs:decimal</v8:Type>
|
|
<v8:NumberQualifiers>
|
|
<v8:Digits>15</v8:Digits>
|
|
<v8:FractionDigits>3</v8:FractionDigits>
|
|
<v8:AllowedSign>Any</v8:AllowedSign>
|
|
</v8:NumberQualifiers>
|
|
</valueType>
|
|
</format>
|
|
<format>
|
|
<containsValue>true</containsValue>
|
|
<valueType>
|
|
<v8:Type>xs:boolean</v8:Type>
|
|
</valueType>
|
|
<controlType>aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee</controlType>
|
|
</format>
|
|
<format>
|
|
<border>0</border>
|
|
<containsValue>true</containsValue>
|
|
<valueType>
|
|
<v8:Type>xs:string</v8:Type>
|
|
<v8:StringQualifiers>
|
|
<v8:Length>50</v8:Length>
|
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
|
</v8:StringQualifiers>
|
|
</valueType>
|
|
<controlType>381ed624-9217-4e63-85db-c4c3cb87daae</controlType>
|
|
</format>
|
|
<format>
|
|
<border>0</border>
|
|
</format>
|
|
<format>
|
|
<border>0</border>
|
|
<fillType>Parameter</fillType>
|
|
<containsValue>true</containsValue>
|
|
<valueType>
|
|
<v8:Type>xs:decimal</v8:Type>
|
|
<v8:NumberQualifiers>
|
|
<v8:Digits>10</v8:Digits>
|
|
<v8:FractionDigits>2</v8:FractionDigits>
|
|
<v8:AllowedSign>Any</v8:AllowedSign>
|
|
</v8:NumberQualifiers>
|
|
</valueType>
|
|
<controlType>381ed624-9217-4e63-85db-c4c3cb87daae</controlType>
|
|
</format>
|
|
<format>
|
|
<width>10</width>
|
|
</format>
|
|
</document> |