mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-17 16:50:30 +03:00
Ключи header и footer описывают колонтитул: три слота (left, center, right), общий шрифт и вертикальное выравнивание, признак вывода и страница, с которой печатать. Ключ printSettings — плоский набор параметров печати с именами тегов платформы; порядок компилятор выставляет сам, незнакомый ключ отвергает. Слот устроен как ячейка: ссылка на формат плюс текст. Текст бывает двух видов, и это не текст против шаблона, а обычная строка против форматированной: у форматированной разметка живёт прямо в содержимом (<b>жирный</>, <fontsize 12>, <colorstyle -16>), поэтому она возится как есть. Признак вывода и стартовая страница лежат в формате как <height> и <width>, но читаются только у записи с <height>: палитра дедуплицирована, и колонтитул без своих настроек ссылается на чужую запись, где <width> — ширина колонки (637 таких ссылок против 153 своих). Перенос строки внутри текста колонтитула платформа хранит голым LF при CRLF во всём остальном файле — единственное такое место в документе, поэтому содержимое пишется одной строкой вывода. Формат колонтитула регистрируется до отсева неиспользуемых шрифтов: иначе шрифт, на который ссылается только колонтитул, выбрасывался бы из палитры. Стенд Колонтитулы собирается байт в байт обоими портами и добавлен в платформенные фикстуры. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
22 lines
1.0 KiB
JSON
22 lines
1.0 KiB
JSON
{
|
|
"name": "Roundtrip — колонтитулы и параметры печати",
|
|
"preRun": [
|
|
{ "script": "mxl-compile/scripts/mxl-compile",
|
|
"input": {
|
|
"columns": 2,
|
|
"fonts": { "мелкий": { "face": "Arial", "size": 8 } },
|
|
"areas": [{ "rows": [["Отчёт"]] }],
|
|
"header": { "font": "мелкий", "verticalAlignment": "Bottom", "startPage": 2,
|
|
"left": "Слева\nвторая строка", "center": "Стр. [&НомерСтраницы]" },
|
|
"footer": { "font": "мелкий", "show": false,
|
|
"center": { "formatted": "<b>Итог</>" } },
|
|
"printSettings": { "pageOrientation": "Landscape", "fitToPage": true, "firstPageNumber": 7 }
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputPath": "Template.xml" },
|
|
"cwd": "{workDir}" }
|
|
],
|
|
"params": { "templatePath": "Template.xml" },
|
|
"args_extra": ["-OutputPath", "{workDir}/back.json"],
|
|
"expect": { "files": ["back.json"], "stdoutContains": "[OK] Decompiled:" }
|
|
}
|