mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-16 08:19:01 +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. Шорткат строк: строка-массив ячеек ---
|
||||
|
||||
Reference in New Issue
Block a user