mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-17 16:50:30 +03:00
Документные ключи rowGroups и columnGroups описывают сворачиваемые группы: диапазон, имя, признак свёрнутости и расположение заголовка. Форма плоская, как в формате: вложенность выражена вхождением одного диапазона в другой. Дерево было бы читаемее, но платформа хранит плоско, и для правки чужого макета дерево дороже — чтобы добавить группу внутрь существующей, пришлось бы искать родителя. Частичных пересечений платформа не порождает (корпус: 40 620 886 пар непересекающихся, 599 958 вложенных, ни одного частичного), поэтому компилятор их отвергает. Число уровней вложенности не задаётся: оно совпало с <vgLevels> у всех 1797 макетов корпуса. Порядок записи компилятор приводит к платформенному — родитель раньше вложенных, по возрастанию начала (совпало у 1798 макетов из 1798). Имя группы вывести нельзя, хотя 143 455 имён корпуса выглядят как автоматические R<номер строки>: 16 666 из них протухли после вставки строк, а 10 287 групп имени не имеют вовсе. Расположение заголовка взяло ключ titleLocation — то же свойство и то же имя, что в DSL форм. mxl-validate: проверка 14 — перевёрнутый диапазон, частичное пересечение, начало группы за пределами документа. Стенд Группировки собирается байт в байт обоими портами и добавлен в платформенные фикстуры. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
16 lines
625 B
JSON
16 lines
625 B
JSON
{
|
|
"name": "Раундтрип макета ПЛАТФОРМЫ байт в байт: Группировки",
|
|
"setup": "fixture:platform-roundtrip",
|
|
"preRun": [
|
|
{
|
|
"script": "mxl-decompile/scripts/mxl-decompile",
|
|
"args": { "-TemplatePath": "Группировки.xml", "-OutputPath": "back.json" },
|
|
"cwd": "{workDir}"
|
|
}
|
|
],
|
|
"params": { "outputPath": "out.xml" },
|
|
"noSnapshot": "эталон — файл платформы, сверяется expect.filesEqual",
|
|
"expect": { "filesEqual": { "actual": "out.xml", "expected": "Группировки.xml" } },
|
|
"inputFrom": "back.json"
|
|
}
|