diff --git a/.claude/skills/mxl-compile/scripts/mxl-compile.ps1 b/.claude/skills/mxl-compile/scripts/mxl-compile.ps1
index 9670f66b..98825528 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.22 — Compile 1C spreadsheet from JSON (+write_xml_file/write_utf8_bom: общий эталон записи)
+# mxl-compile v1.23 — Compile 1C spreadsheet from JSON (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[Parameter(Mandatory)]
@@ -573,6 +573,16 @@ function Get-FillType {
function Register-CellFormat {
param($styleName, [string]$fillType)
$resolved = Resolve-Style -styleName $styleName -fillType $fillType
+ # Ячейка без собственного оформления ссылается на формат ПО УМОЛЧАНИЮ — так делает
+ # платформа: в её палитре у неоформленного макета один формат (ширина колонки), и все
+ # ячейки указывают на него. Мы же заводили каждой свой формат с 0, где ноль
+ # означает «шрифт не задан», то есть формат был пуст по смыслу.
+ if ($resolved.FontIdx -eq $fontMap["default"] -and
+ $resolved.LB -lt 0 -and $resolved.TB -lt 0 -and $resolved.RB -lt 0 -and $resolved.BB -lt 0 -and
+ -not $resolved.HA -and -not $resolved.VA -and -not $resolved.Wrap -and
+ -not $resolved.FillType -and -not $resolved.NumberFormat) {
+ return $script:defaultFormatIndex
+ }
$key = Get-FormatKey -fontIdx $resolved.FontIdx `
-lb $resolved.LB -tb $resolved.TB -rb $resolved.RB -bb $resolved.BB `
-ha $resolved.HA -va $resolved.VA `
diff --git a/.claude/skills/mxl-compile/scripts/mxl-compile.py b/.claude/skills/mxl-compile/scripts/mxl-compile.py
index 3ddd2eb2..ca69b851 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.22 — Compile 1C spreadsheet from JSON (+write_xml_file/write_utf8_bom: общий эталон записи)
+# mxl-compile v1.23 — Compile 1C spreadsheet from JSON (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import hashlib
@@ -619,6 +619,16 @@ def main():
# Helper: register a cell format and return its index
def register_cell_format(style_name, fill_type):
resolved = resolve_style(style_name, fill_type)
+ # Ячейка без собственного оформления ссылается на формат ПО УМОЛЧАНИЮ — так делает
+ # платформа: в её палитре у неоформленного макета один формат (ширина колонки), и все
+ # ячейки указывают на него. Мы же заводили каждой свой формат с 0, где ноль
+ # означает «шрифт не задан», то есть формат был пуст по смыслу.
+ if (resolved['FontIdx'] == font_map.get('default', 0)
+ and resolved['LB'] < 0 and resolved['TB'] < 0
+ and resolved['RB'] < 0 and resolved['BB'] < 0
+ and not resolved['HA'] and not resolved['VA'] and not resolved['Wrap']
+ and not resolved['FillType'] and not resolved['NumberFormat']):
+ return default_format_index
key = get_format_key(
font_idx=resolved['FontIdx'],
lb=resolved['LB'], tb=resolved['TB'], rb=resolved['RB'], bb=resolved['BB'],
diff --git a/tests/skills/cases/mxl-compile/snapshots/column-sets/Template.xml b/tests/skills/cases/mxl-compile/snapshots/column-sets/Template.xml
index 6b068c79..cb052440 100644
--- a/tests/skills/cases/mxl-compile/snapshots/column-sets/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/column-sets/Template.xml
@@ -58,7 +58,7 @@
0
- 4
+ 1
ru
@@ -70,7 +70,7 @@
1
- 4
+ 1
ru
@@ -82,7 +82,7 @@
2
- 4
+ 1
ru
@@ -100,21 +100,21 @@
0
- 5
+ 4
Товар
1
- 5
+ 4
Кол
2
- 5
+ 4
Сумма
@@ -154,9 +154,6 @@
8
-
- 0
-
0
Parameter
diff --git a/tests/skills/cases/mxl-compile/snapshots/guard-allow-external/print-forms/Демо/Templates/Макет/Ext/Template.xml b/tests/skills/cases/mxl-compile/snapshots/guard-allow-external/print-forms/Демо/Templates/Макет/Ext/Template.xml
index 6a1227f0..1b911f97 100644
--- a/tests/skills/cases/mxl-compile/snapshots/guard-allow-external/print-forms/Демо/Templates/Макет/Ext/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/guard-allow-external/print-forms/Демо/Templates/Макет/Ext/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -47,7 +47,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-compile/snapshots/lenient-implicit-cols/Template.xml b/tests/skills/cases/mxl-compile/snapshots/lenient-implicit-cols/Template.xml
index df9334ef..b50b38f4 100644
--- a/tests/skills/cases/mxl-compile/snapshots/lenient-implicit-cols/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/lenient-implicit-cols/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -59,7 +59,7 @@
0
- 2
+ 1
ru
@@ -71,7 +71,7 @@
1
- 2
+ 1
ru
@@ -83,7 +83,7 @@
2
- 2
+ 1
ru
@@ -100,7 +100,7 @@
1
- 2
+ 1
ru
@@ -112,7 +112,7 @@
2
- 2
+ 1
ru
@@ -129,7 +129,7 @@
0
- 2
+ 1
ru
@@ -141,7 +141,7 @@
2
- 2
+ 1
ru
@@ -181,7 +181,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-compile/snapshots/lenient-key-case/Template.xml b/tests/skills/cases/mxl-compile/snapshots/lenient-key-case/Template.xml
index 58df6a32..1a078e22 100644
--- a/tests/skills/cases/mxl-compile/snapshots/lenient-key-case/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/lenient-key-case/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -71,7 +71,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-compile/snapshots/minimal/Template.xml b/tests/skills/cases/mxl-compile/snapshots/minimal/Template.xml
index 2dad0c61..c71879cb 100644
--- a/tests/skills/cases/mxl-compile/snapshots/minimal/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/minimal/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -47,7 +47,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-compile/snapshots/named-areas-coords/Template.xml b/tests/skills/cases/mxl-compile/snapshots/named-areas-coords/Template.xml
index ede71b0e..531e5a58 100644
--- a/tests/skills/cases/mxl-compile/snapshots/named-areas-coords/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/named-areas-coords/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -54,7 +54,7 @@
3
- 2
+ 1
ru
@@ -71,28 +71,28 @@
0
- 3
+ 2
П1
1
- 3
+ 2
П2
2
- 3
+ 2
П3
3
- 3
+ 2
П4
@@ -146,9 +146,6 @@
10
-
- 0
-
0
Parameter
diff --git a/tests/skills/cases/mxl-compile/snapshots/nested-output-dir/Templates/Макет/Ext/Template.xml b/tests/skills/cases/mxl-compile/snapshots/nested-output-dir/Templates/Макет/Ext/Template.xml
index 9f5d9caa..b92dc3ea 100644
--- a/tests/skills/cases/mxl-compile/snapshots/nested-output-dir/Templates/Макет/Ext/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/nested-output-dir/Templates/Макет/Ext/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -47,7 +47,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-compile/snapshots/shorthand-merges/Template.xml b/tests/skills/cases/mxl-compile/snapshots/shorthand-merges/Template.xml
index 3367a8ef..fa72f75d 100644
--- a/tests/skills/cases/mxl-compile/snapshots/shorthand-merges/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/shorthand-merges/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
3
- 2
+ 1
ru
@@ -59,7 +59,7 @@
1
- 2
+ 1
ru
@@ -71,7 +71,7 @@
2
- 2
+ 1
ru
@@ -88,28 +88,28 @@
0
- 3
+ 2
Вид
1
- 3
+ 2
Нач
2
- 3
+ 2
Кон
3
- 3
+ 2
Итог
@@ -150,9 +150,6 @@
10
-
- 0
-
0
Parameter
diff --git a/tests/skills/cases/mxl-compile/snapshots/shorthand-rows/Template.xml b/tests/skills/cases/mxl-compile/snapshots/shorthand-rows/Template.xml
index 755c8940..a8085475 100644
--- a/tests/skills/cases/mxl-compile/snapshots/shorthand-rows/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/shorthand-rows/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -54,7 +54,7 @@
3
- 2
+ 1
ru
@@ -71,21 +71,21 @@
0
- 3
+ 2
Товар
1
- 3
+ 2
Кол
3
- 4
+ 3
ru
@@ -117,9 +117,6 @@
10
-
- 0
-
0
Parameter
diff --git a/tests/skills/cases/mxl-compile/snapshots/simple-template/Template.xml b/tests/skills/cases/mxl-compile/snapshots/simple-template/Template.xml
index 58df6a32..1a078e22 100644
--- a/tests/skills/cases/mxl-compile/snapshots/simple-template/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/simple-template/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -71,7 +71,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-compile/snapshots/unnamed-blocks/Template.xml b/tests/skills/cases/mxl-compile/snapshots/unnamed-blocks/Template.xml
index e2cf29c4..99652405 100644
--- a/tests/skills/cases/mxl-compile/snapshots/unnamed-blocks/Template.xml
+++ b/tests/skills/cases/mxl-compile/snapshots/unnamed-blocks/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -59,7 +59,7 @@
0
- 2
+ 1
ru
@@ -76,21 +76,21 @@
0
- 3
+ 2
П1
1
- 3
+ 2
П2
2
- 3
+ 2
П3
@@ -129,9 +129,6 @@
10
-
- 0
-
0
Parameter
diff --git a/tests/skills/cases/mxl-decompile/snapshots/output-absolute-path/Template.xml b/tests/skills/cases/mxl-decompile/snapshots/output-absolute-path/Template.xml
index fd7e6e66..5bef0e14 100644
--- a/tests/skills/cases/mxl-decompile/snapshots/output-absolute-path/Template.xml
+++ b/tests/skills/cases/mxl-decompile/snapshots/output-absolute-path/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -59,7 +59,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-decompile/snapshots/roundtrip-templates/Template.xml b/tests/skills/cases/mxl-decompile/snapshots/roundtrip-templates/Template.xml
index d26bbdeb..138479f6 100644
--- a/tests/skills/cases/mxl-decompile/snapshots/roundtrip-templates/Template.xml
+++ b/tests/skills/cases/mxl-decompile/snapshots/roundtrip-templates/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 3
+ 2
ru
@@ -59,9 +59,6 @@
10
-
- 0
-
0
Template
diff --git a/tests/skills/cases/mxl-decompile/snapshots/roundtrip/Template.xml b/tests/skills/cases/mxl-decompile/snapshots/roundtrip/Template.xml
index 620356d4..1e2656c2 100644
--- a/tests/skills/cases/mxl-decompile/snapshots/roundtrip/Template.xml
+++ b/tests/skills/cases/mxl-decompile/snapshots/roundtrip/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -71,7 +71,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-info/snapshots/areas-and-params/Template.xml b/tests/skills/cases/mxl-info/snapshots/areas-and-params/Template.xml
index d6f1a402..e6ae3b1e 100644
--- a/tests/skills/cases/mxl-info/snapshots/areas-and-params/Template.xml
+++ b/tests/skills/cases/mxl-info/snapshots/areas-and-params/Template.xml
@@ -30,7 +30,7 @@
0
- 3
+ 1
ru
@@ -55,14 +55,14 @@
0
- 5
+ 4
НомерСтроки
1
- 5
+ 4
Товар
Номенклатура
@@ -70,21 +70,21 @@
2
- 6
+ 5
Количество
3
- 6
+ 5
Цена
4
- 6
+ 5
Сумма
@@ -96,7 +96,7 @@
3
- 7
+ 6
ru
@@ -108,7 +108,7 @@
4
- 8
+ 7
Всего
@@ -185,9 +185,6 @@
0
Parameter
-
- 0
-
0
0
diff --git a/tests/skills/cases/mxl-info/snapshots/template-overview/Template.xml b/tests/skills/cases/mxl-info/snapshots/template-overview/Template.xml
index 64a68b76..55a10957 100644
--- a/tests/skills/cases/mxl-info/snapshots/template-overview/Template.xml
+++ b/tests/skills/cases/mxl-info/snapshots/template-overview/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -71,7 +71,4 @@
10
-
- 0
-
\ No newline at end of file
diff --git a/tests/skills/cases/mxl-info/snapshots/with-text/Template.xml b/tests/skills/cases/mxl-info/snapshots/with-text/Template.xml
index 98e63617..1f0beac7 100644
--- a/tests/skills/cases/mxl-info/snapshots/with-text/Template.xml
+++ b/tests/skills/cases/mxl-info/snapshots/with-text/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 3
+ 2
ru
@@ -47,7 +47,7 @@
0
- 2
+ 1
ru
@@ -59,7 +59,7 @@
1
- 2
+ 1
ru
@@ -71,7 +71,7 @@
2
- 2
+ 1
ru
@@ -88,21 +88,21 @@
0
- 4
+ 3
Код
1
- 4
+ 3
Наименование
2
- 4
+ 3
Сумма
@@ -151,9 +151,6 @@
10
-
- 0
-
0
Template
diff --git a/tests/skills/cases/mxl-validate/snapshots/valid-template/Template.xml b/tests/skills/cases/mxl-validate/snapshots/valid-template/Template.xml
index 620356d4..1e2656c2 100644
--- a/tests/skills/cases/mxl-validate/snapshots/valid-template/Template.xml
+++ b/tests/skills/cases/mxl-validate/snapshots/valid-template/Template.xml
@@ -18,7 +18,7 @@
0
- 2
+ 1
ru
@@ -30,7 +30,7 @@
1
- 2
+ 1
ru
@@ -42,7 +42,7 @@
2
- 2
+ 1
ru
@@ -71,7 +71,4 @@
10
-
- 0
-
\ No newline at end of file