mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-13 23:13:22 +03:00
Строка в text/template разворачивается по одному элементу на каждый язык из документного ключа textLanguages (по умолчанию только ru). Декомпилятор собирает набор языков по всем текстам макета и пишет строкой текст, одинаковый на всём наборе; различающийся остаётся объектом. Языки текстов и языки, объявленные в конфигурации, — разные вещи: типовые ERP объявляют один ru, а тексты хранят под ru и en. Набор постоянен внутри конфигурации, поэтому он документный, а не вычисляемый: к моменту компиляции тексты уже свёрнуты в строки. Заодно: эмиссия tl проверяет НАЛИЧИЕ ключа text/template, а не истинность — пустая строка это текст, платформа такие ячейки пишет с пустым tl, а по истинности он терялся. Проверено на пилоте (40 макетов ERP): скомпилированный XML совпадает с прошлым прогоном байт в байт обоими рантаймами, объём JSON −47%. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
30 lines
818 B
JSON
30 lines
818 B
JSON
{
|
|
"name": "Декомпиляция макета с текстом на нескольких языках",
|
|
"preRun": [
|
|
{
|
|
"script": "mxl-compile/scripts/mxl-compile",
|
|
"input": {
|
|
"columns": 2,
|
|
"textLanguages": ["ru", "en"],
|
|
"areas": [
|
|
{
|
|
"name": "Test",
|
|
"rows": [
|
|
{
|
|
"cells": [
|
|
{ "col": 1, "text": "Итого" },
|
|
{ "col": 2, "text": { "ru": "Поставщик", "en": "Supplier" } }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputPath": "Template.xml" },
|
|
"cwd": "{workDir}"
|
|
}
|
|
],
|
|
"params": { "templatePath": "Template.xml" },
|
|
"expect": { "stdoutContains": "textLanguages" }
|
|
}
|