Add progressive disclosure to fields and totals modes

Without -Name, both modes now show a compact map (field names
per dataset / calculated+resource names). With -Name, they
drill down to full detail. Totals -Name shows both calculated
expression and resource formula when field appears in both.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-02-10 18:23:02 +03:00
co-authored by Claude Opus 4.6
parent 24358f212f
commit 941fa73803
2 changed files with 160 additions and 57 deletions
+39 -13
View File
@@ -25,7 +25,7 @@ allowed-tools:
|--------------|:------------:|--------------|---------------------------------------------------|
| TemplatePath | да | — | Путь к Template.xml или каталогу макета |
| Mode | нет | `overview` | Режим: `overview`, `query`, `fields`, `links`, `totals`, `params`, `variant` |
| Name | нет | — | Имя набора (query/fields) или варианта (variant) |
| Name | нет | — | Имя набора (query/fields), поля (totals) или варианта (variant) |
| Batch | нет | `0` | Номер пакета запроса (0 = все). Только для query |
| Limit | нет | `150` | Макс. строк вывода (защита от переполнения) |
| Offset | нет | `0` | Пропустить N строк (для пагинации) |
@@ -118,18 +118,25 @@ Params: 18 (7 visible, 11 hidden): Период, Ответственный, ...
Фильтр по номеру батча: `-Batch 3` покажет только 3-й пакет.
### fields — таблица полей наборов данных
### fields — поля наборов данных
Без `-Name` — карта: имена полей по наборам:
```
=== Fields: НоменклатураСЦенами [Query] (7) ===
=== Fields map ===
СостояниеОС [Query] (3): Организация, ОсновноеСредство, ДатаСостояния
РасчетНалогаНаИмущество [Union] (52): ДоляСтоимостиЧислитель, ...
РасчетНалогаНаИмущество [Query] (51): КадастроваяСтоимость, ...
```
С `-Name <набор>` — полная таблица:
```
=== Fields: СостояниеОС [Query] (3) ===
dataPath title role restrict format
Номенклатура - - - -
Номенклатура.Артикул "Артикул" - - -
Цена - - - ЧГ=0
Организация - - - -
ОсновноеСредство Объект - - -
ДатаСостояния Дата ввода в эксплуатацию - - ДФ=dd.MM.yyyy
```
Без `-Name` — поля всех наборов. С `-Name <набор>` — только указанного.
### links — связи наборов данных
```
@@ -144,13 +151,32 @@ Params: 18 (7 visible, 11 hidden): Период, Ответственный, ...
### totals — вычисляемые поля и ресурсы
Без `-Name` — карта: имена вычисляемых полей и ресурсов:
```
=== Calculated fields (3) ===
УИД = БухгалтерскиеОтчеты.ПолучитьУИДСсылкиСтрокой(Номенклатура) restrict:cond,grp,ord
=== Calculated fields (23) ===
ДоляСтоимости "Доля стоимости"
КоэффициентКи "Коэффициент Ки"
...
=== Resources (2) ===
Цена = Максимум(Цена)
ПравоИнтерактивное = Максимум(ПравоИнтерактивное) [group:ОбъектМетаданных]
=== Resources (51) ===
НалоговаяБаза
КоэффициентКи *
...
* = has group-level formulas
```
С `-Name <поле>` — полная формула (если поле есть и в calculated, и в resources — покажет обе части):
```
=== Calculated: КоэффициентКи ===
Expression:
ВЫБОР КОГДА ... ТОГДА 0 ИНАЧЕ ... КОНЕЦ
Title: Коэффициент Ки
Restrict: condition
=== Resource: КоэффициентКи ===
[ОсновноеСредство] Сумма(КоэффициентКи)
```
### params — параметры схемы