Files
cc-1c-skills/tests/skills/cases/skd-decompile/snapshots/calc-total-params/decompiled.json
T
Nick Shirokov 8b71054478 feat(skd-decompile): query file префикс + inline объекты/массивы по lineLimit
1. Внешний .sql теперь именуется <outputBasename>-<datasetName>.sql
   (раньше просто <datasetName>.sql). Защищает от коллизий при
   batch-decompile нескольких отчётов в одну папку: имена dataset'ов
   часто совпадают ("НаборДанных1" — почти везде).
   В JSON: "query": "@<outputBasename>-<datasetName>.sql".

2. ConvertTo-CompactJson: Try-InlineJson — пытается сериализовать
   container на одну строку. Если результат + текущий indent ≤120
   chars → inline; иначе multi-line. Применяется и к объектам и к
   массивам (включая массивы из примитивов — раньше они всегда были
   inline, что давало гигантские строки на длинных fields).

   Примеры inline (объекты ≤120 chars):
   - { "value": "B", "style": "header" }
   - { "name": "Имя", "expression": "Имя" }
   Длинные объекты и массивы — multi-line как раньше.

v0.19 → v0.20.
2026-05-21 21:04:21 +03:00

30 lines
1.3 KiB
JSON

{
"dataSets": [
{
"name": "Тест",
"query": "ВЫБРАТЬ * ИЗ Справочник.Номенклатура",
"fields": ["Цена: decimal(15,2)", "Закупка: decimal(15,2)"]
}
],
"calculatedFields": [
"Маржа = Цена - Закупка",
"Наценка [Наценка, %]: decimal(10,2) = Маржа / Закупка * 100",
"Служебное: string = \"\" #noField #noFilter #noGroup #noOrder"
],
"totalFields": ["Цена: Сумма", "Маржа: Сумма(Цена - Закупка)"],
"parameters": [
"Период [Отчетный период]: StandardPeriod = LastMonth @autoDates",
"Организация: CatalogRef.Организации",
"СписокДокументов: CatalogRef.Документы @valueList",
"СлужебныйПар: string @hidden",
{
"name": "ПорядокОкругления",
"type": "EnumRef.Округления",
"value": "Перечисление.Округления.Окр1",
"availableValues": [
{ "value": "Перечисление.Округления.Окр1_00", "presentation": "руб. коп" },
{ "value": "Перечисление.Округления.Окр1", "presentation": "руб." }
]
}
]
}