From 9a1353a1d95fd1d22dbd650557abfcd74577a4ed Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 15 Aug 2026 18:30:41 +0300 Subject: [PATCH] =?UTF-8?q?fix(mxl-compile):=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D1=87=D0=BD=D0=B8=20=D1=83=D0=B7=D0=BE=D1=80=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B8=20=D1=81=D1=82=D0=B8=D0=BB=D0=B5=D0=B9=20=D0=BB=D0=B8?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D0=B1=D1=8B=D0=BB=D0=B8=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=BA=D0=BE=D0=B9,=20=D0=B0=20=D0=BD=D0=B5?= =?UTF-8?q?=20=D0=B4=D0=BE=D0=BC=D0=B5=D0=BD=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Оба списка снимались с корпуса ERP и потому отвергали законные значения. Узоров платформа знает семнадцать («Узор 1» … «Узор 17»), а в корпусе встречаются только шесть номеров — Pattern4 компилятор отклонял. Со стилями линии тоньше: палитра одна на документ, но Конфигуратор предлагает разные наборы в разных местах. У рамки ячейки семь значений (корпус их покрывал), у линии рисунка — шесть других, и трёх из них (Dashed, DashDotted, DashDottedDotted) в корпусе нет ни одной. Домен — объединение обоих наборов. Обе поправки сняты с диалогов Конфигуратора, а не додуманы по образцу. Co-Authored-By: Claude Opus 5 (1M context) --- .../mxl-compile/reference/format-properties.md | 2 +- .claude/skills/mxl-compile/reference/styles.md | 4 +++- .claude/skills/mxl-compile/scripts/mxl-compile.ps1 | 12 ++++++++---- .claude/skills/mxl-compile/scripts/mxl-compile.py | 9 ++++++--- docs/mxl-dsl-format-properties.md | 2 +- docs/mxl-dsl-styles.md | 4 +++- 6 files changed, 22 insertions(+), 11 deletions(-) diff --git a/.claude/skills/mxl-compile/reference/format-properties.md b/.claude/skills/mxl-compile/reference/format-properties.md index dde3db00..0c9a87b7 100644 --- a/.claude/skills/mxl-compile/reference/format-properties.md +++ b/.claude/skills/mxl-compile/reference/format-properties.md @@ -34,7 +34,7 @@ | Ключ | Тип | Значение | |------|-----|----------| | `backColor` | цвет | Цвет фона | -| `pattern` | перечисление | `Solid`, `WithoutPattern`, `Pattern7`, `Pattern10`, `Pattern12`, `Pattern13`, `Pattern14`, `Pattern16` | +| `pattern` | перечисление | `WithoutPattern`, `Solid`, `Pattern1`…`Pattern17` (в Конфигураторе «Узор 1» … «Узор 17») | | `patternColor` | цвет | Цвет узора | | `border` | линия | Все четыре стороны | | `leftBorder`, `topBorder`, `rightBorder`, `bottomBorder` | линия | Отдельная сторона | diff --git a/.claude/skills/mxl-compile/reference/styles.md b/.claude/skills/mxl-compile/reference/styles.md index 8f7908ef..5974a890 100644 --- a/.claude/skills/mxl-compile/reference/styles.md +++ b/.claude/skills/mxl-compile/reference/styles.md @@ -89,7 +89,9 @@ | `"Solid"` | Стиль линии, ширина 1 | | `{ "style": "Solid", "width": 2 }` | Стиль и ширина | -Стили линии: `Solid`, `None`, `Dotted`, `ThinDashed`, `LargeDashed`, `ThickDashed`, `Double`. +Стили линии: `None`, `Solid`, `Dotted`, `Dashed`, `DashDotted`, `DashDottedDotted`, +`ThinDashed`, `LargeDashed`, `ThickDashed`, `Double`. Конфигуратор предлагает разные наборы +в разных местах — у рамки ячейки одни, у линии рисунка другие, — но палитра одна на документ. Задавать стороны по отдельности можно всегда: если все четыре совпали, компилятор сам свернёт их в один `border` — так это хранит платформа. diff --git a/.claude/skills/mxl-compile/scripts/mxl-compile.ps1 b/.claude/skills/mxl-compile/scripts/mxl-compile.ps1 index 57d8d685..eee335e7 100644 --- a/.claude/skills/mxl-compile/scripts/mxl-compile.ps1 +++ b/.claude/skills/mxl-compile/scripts/mxl-compile.ps1 @@ -1,4 +1,4 @@ -# mxl-compile v1.46 — Compile 1C spreadsheet from JSON +# mxl-compile v1.47 — Compile 1C spreadsheet from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -302,8 +302,11 @@ function Register-Line { } function Get-LineStyles { - # Стили линии, встречающиеся в палитрах корпуса. - return @('Solid', 'None', 'Dotted', 'ThinDashed', 'LargeDashed', 'ThickDashed', 'Double') + # Палитра линий одна на документ, а Конфигуратор предлагает РАЗНЫЕ наборы: у рамки ячейки + # свой (сплошная, точечная, штриховые, двойная), у линии рисунка свой (пунктирная, + # пунктирно-точечная, точечно-пунктирно-точечная). Домен — объединение: перечень, снятый + # только с корпуса, отвергал стили рисунков. + return @('None', 'Solid', 'Dashed', 'Dotted', 'DashDotted', 'DashDottedDotted', 'ThinDashed', 'LargeDashed', 'ThickDashed', 'Double') } # --- 4. Parse column width specs --- @@ -1048,7 +1051,8 @@ function Get-FormatEnumValues { 'detailsUse' = @('Cell', 'Row', 'WithoutProcessing') 'fillType' = @('Parameter', 'Template', 'Text') 'horizontalAlignment' = @('Auto', 'Center', 'Justify', 'Left', 'Right') - 'pattern' = @('Pattern7', 'Pattern10', 'Pattern12', 'Pattern13', 'Pattern14', 'Pattern16', 'Solid', 'WithoutPattern') + # Узоры платформа нумерует подряд, без семантических имён: «Узор 1» … «Узор 17». + 'pattern' = @('WithoutPattern', 'Solid', 'Pattern1', 'Pattern2', 'Pattern3', 'Pattern4', 'Pattern5', 'Pattern6', 'Pattern7', 'Pattern8', 'Pattern9', 'Pattern10', 'Pattern11', 'Pattern12', 'Pattern13', 'Pattern14', 'Pattern15', 'Pattern16', 'Pattern17') 'picHorizontalAlignment' = @('Auto', 'Center', 'Left', 'Right') 'picVerticalAlignment' = @('Bottom', 'Center', 'Top') 'pictureSizeMode' = @('AutoSize', 'Proportionally', 'RealSize') diff --git a/.claude/skills/mxl-compile/scripts/mxl-compile.py b/.claude/skills/mxl-compile/scripts/mxl-compile.py index eb82be76..a391eac3 100644 --- a/.claude/skills/mxl-compile/scripts/mxl-compile.py +++ b/.claude/skills/mxl-compile/scripts/mxl-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# mxl-compile v1.46 — Compile 1C spreadsheet from JSON +# mxl-compile v1.47 — Compile 1C spreadsheet from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import hashlib @@ -417,8 +417,11 @@ def style_key_synonyms(): def line_styles(): - """Стили линии, встречающиеся в палитрах корпуса.""" - return ['Solid', 'None', 'Dotted', 'ThinDashed', 'LargeDashed', 'ThickDashed', 'Double'] + """Палитра линий одна на документ, а Конфигуратор предлагает РАЗНЫЕ наборы: у рамки + ячейки свой (сплошная, точечная, штриховые, двойная), у линии рисунка свой + (пунктирная, пунктирно-точечная, точечно-пунктирно-точечная). Домен — объединение: + перечень, снятый только с корпуса, отвергал стили рисунков.""" + return ['None', 'Solid', 'Dashed', 'Dotted', 'DashDotted', 'DashDottedDotted', 'ThinDashed', 'LargeDashed', 'ThickDashed', 'Double'] def color_namespace(val): diff --git a/docs/mxl-dsl-format-properties.md b/docs/mxl-dsl-format-properties.md index 845f18dd..ddd7a37e 100644 --- a/docs/mxl-dsl-format-properties.md +++ b/docs/mxl-dsl-format-properties.md @@ -34,7 +34,7 @@ | Ключ | Тип | Значение | |------|-----|----------| | `backColor` | цвет | Цвет фона | -| `pattern` | перечисление | `Solid`, `WithoutPattern`, `Pattern7`, `Pattern10`, `Pattern12`, `Pattern13`, `Pattern14`, `Pattern16` | +| `pattern` | перечисление | `WithoutPattern`, `Solid`, `Pattern1`…`Pattern17` (в Конфигураторе «Узор 1» … «Узор 17») | | `patternColor` | цвет | Цвет узора | | `border` | линия | Все четыре стороны | | `leftBorder`, `topBorder`, `rightBorder`, `bottomBorder` | линия | Отдельная сторона | diff --git a/docs/mxl-dsl-styles.md b/docs/mxl-dsl-styles.md index 58c74fb1..416a1410 100644 --- a/docs/mxl-dsl-styles.md +++ b/docs/mxl-dsl-styles.md @@ -89,7 +89,9 @@ | `"Solid"` | Стиль линии, ширина 1 | | `{ "style": "Solid", "width": 2 }` | Стиль и ширина | -Стили линии: `Solid`, `None`, `Dotted`, `ThinDashed`, `LargeDashed`, `ThickDashed`, `Double`. +Стили линии: `None`, `Solid`, `Dotted`, `Dashed`, `DashDotted`, `DashDottedDotted`, +`ThinDashed`, `LargeDashed`, `ThickDashed`, `Double`. Конфигуратор предлагает разные наборы +в разных местах — у рамки ячейки одни, у линии рисунка другие, — но палитра одна на документ. Задавать стороны по отдельности можно всегда: если все четыре совпали, компилятор сам свернёт их в один `border` — так это хранит платформа.