mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-13 15:03:20 +03:00
fix(mxl-compile): у неоформленной ячейки формата нет вовсе
Ячейка без собственного оформления ссылалась на формат по умолчанию. Платформа в этом случае пишет <f>0</f>, где ноль — не индекс записи, а «формата нет»: на корпусе так у 170 710 ячеек против 50 635, ссылающихся на умолчание, и <f>0</f> встречается в 71% макетов. Подтверждено контролируемым стендом: в макете, где колонкам заданы ширины, а ячейки ничем не оформлены, платформа пишет ячейкам ноль. На пилоте верхняя категория row[].cell[].fmt упала с 63 900 до 55 855 фактов, совпадение строк документа выросло с 16.7% до 17.5%. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
08503c72e9
commit
ccbd488d63
@@ -1,4 +1,4 @@
|
||||
# mxl-compile v1.31 — Compile 1C spreadsheet from JSON
|
||||
# mxl-compile v1.32 — Compile 1C spreadsheet from JSON
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
@@ -787,12 +787,11 @@ function Get-FillType {
|
||||
function Register-CellFormat {
|
||||
param($styleName, [string]$fillType)
|
||||
$resolved = Resolve-Style -styleName $styleName -fillType $fillType
|
||||
# Ячейка без собственного оформления ссылается на формат ПО УМОЛЧАНИЮ — так делает
|
||||
# платформа: в её палитре у неоформленного макета один формат (ширина колонки), и все
|
||||
# ячейки указывают на него. Мы же заводили каждой свой формат с <font>0</font>, где ноль
|
||||
# означает «шрифт не задан», то есть формат был пуст по смыслу.
|
||||
# У ячейки без собственного оформления формата НЕТ вовсе: <f>0</f>, где ноль — не индекс
|
||||
# записи, а «формата нет». В корпусе так у 170 710 ячеек против 50 635, ссылающихся на
|
||||
# формат по умолчанию; <f>0</f> встречается в 71% макетов.
|
||||
if ($resolved.Count -eq 1 -and $resolved['font'] -eq $fontMap["default"]) {
|
||||
return $script:defaultFormatIndex
|
||||
return 0
|
||||
}
|
||||
return Register-Format $resolved
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# mxl-compile v1.31 — Compile 1C spreadsheet from JSON
|
||||
# mxl-compile v1.32 — Compile 1C spreadsheet from JSON
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import hashlib
|
||||
@@ -834,12 +834,11 @@ 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)
|
||||
# Ячейка без собственного оформления ссылается на формат ПО УМОЛЧАНИЮ — так делает
|
||||
# платформа: в её палитре у неоформленного макета один формат (ширина колонки), и все
|
||||
# ячейки указывают на него. Мы же заводили каждой свой формат с <font>0</font>, где ноль
|
||||
# означает «шрифт не задан», то есть формат был пуст по смыслу.
|
||||
# У ячейки без собственного оформления формата НЕТ вовсе: <f>0</f>, где ноль — не
|
||||
# индекс записи, а «формата нет». В корпусе так у 170 710 ячеек против 50 635,
|
||||
# ссылающихся на формат по умолчанию; <f>0</f> встречается в 71% макетов.
|
||||
if len(resolved) == 1 and resolved.get('font') == font_map.get('default', 0):
|
||||
return default_format_index
|
||||
return 0
|
||||
return register_format(resolved)
|
||||
|
||||
# --- 5.5. Шорткат строк: строка-массив ячеек ---
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -68,7 +68,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -79,7 +79,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -55,7 +55,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -66,7 +66,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -77,7 +77,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -94,7 +94,7 @@
|
||||
<c>
|
||||
<i>1</i>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -105,7 +105,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -121,7 +121,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -133,7 +133,7 @@
|
||||
<c>
|
||||
<i>2</i>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -50,7 +50,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -40,7 +40,7 @@
|
||||
<c>
|
||||
<i>3</i>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -57,7 +57,7 @@
|
||||
<c>
|
||||
<i>1</i>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -68,7 +68,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -50,7 +50,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -32,7 +32,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -55,7 +55,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -32,7 +32,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -44,7 +44,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -55,7 +55,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -66,7 +66,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -28,7 +28,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -39,7 +39,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>1</f>
|
||||
<f>0</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
Reference in New Issue
Block a user