mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-11 13:33:41 +03:00
247 lines
9.9 KiB
Markdown
247 lines
9.9 KiB
Markdown
# /skd-info — полная справка по режимам
|
||
|
||
Компактное описание — в [SKILL.md](SKILL.md).
|
||
|
||
## overview (по умолчанию) — карта схемы
|
||
|
||
Компактная навигационная карта (10-25 строк). Показывает структуру и подсказывает следующие шаги:
|
||
|
||
```
|
||
=== DCS: ОсновнаяСхемаКомпоновкиДанных (362 lines) ===
|
||
|
||
Sources: ИсточникДанных1 (Local)
|
||
|
||
Datasets:
|
||
[Query] НоменклатураСЦенами 7 fields, query 40 lines
|
||
Calculated: 1
|
||
Resources: 1
|
||
Templates: 1 templates, 1 group bindings
|
||
Params: (none)
|
||
|
||
Variants:
|
||
[1] НоменклатураИЦены "Номенклатура и цены" Table(detail) 3 filters
|
||
[2] НоменклатураБезЦен "Номенклатура без цен" Group(detail) 2 filters
|
||
|
||
Next:
|
||
-Mode query query text
|
||
-Mode fields field tables by dataset
|
||
-Mode calculated calculated field expressions
|
||
-Mode resources resource aggregation
|
||
-Mode variant -Name <N> variant structure (1..2)
|
||
```
|
||
|
||
Для DataSetUnion — дерево наборов + связи:
|
||
```
|
||
Datasets:
|
||
[Union] РасчетНалогаНаИмущество 52 fields
|
||
├─ [Query] РасчетНалогаНаИмущество 51 fields, query 181 lines
|
||
├─ [Query] ДанныеПоКадастровой 29 fields, query 40 lines
|
||
├─ [Query] ДанныеПоСреднегодовой 34 fields, query 41 lines
|
||
Links: РасчетНалогаНаИмущество -> СостояниеОС (2 fields)
|
||
```
|
||
|
||
Параметры разделяются на видимые/скрытые:
|
||
```
|
||
Params: 18 (7 visible, 11 hidden): Период, Ответственный, ...
|
||
```
|
||
|
||
## query — текст запроса
|
||
|
||
`-Name <набор>` — имя DataSet (обязателен если наборов > 1).
|
||
|
||
Извлекает raw-текст запроса с деэкранированием XML (`&`→`&`, `>`→`>`). Для пакетных запросов — оглавление батчей:
|
||
|
||
```
|
||
=== Query: ДанныеТ13 (334 lines, 13 batches) ===
|
||
Batch 1: lines 1-8 → ПОМЕСТИТЬ Представления_Периоды
|
||
Batch 2: lines 9-26 → ПОМЕСТИТЬ Представления_СотрудникиОрганизации
|
||
...
|
||
--- Batch 1 ---
|
||
ВЫБРАТЬ
|
||
ДАТАВРЕМЯ(1, 1, 1) КАК Период
|
||
ПОМЕСТИТЬ Представления_Периоды
|
||
...
|
||
```
|
||
|
||
Фильтр по номеру батча: `-Batch 3` покажет только 3-й пакет.
|
||
|
||
## fields — поля наборов данных
|
||
|
||
Без `-Name` — карта: имена полей по наборам:
|
||
```
|
||
=== Fields map ===
|
||
СостояниеОС [Query] (3): Организация, ОсновноеСредство, ДатаСостояния
|
||
РасчетНалогаНаИмущество [Union] (52): ДоляСтоимостиЧислитель, ...
|
||
РасчетНалогаНаИмущество [Query] (51): КадастроваяСтоимость, ...
|
||
```
|
||
|
||
С `-Name <поле>` — детали конкретного поля:
|
||
```
|
||
=== Field: ДатаСостояния "Дата ввода в эксплуатацию" ===
|
||
|
||
Dataset: СостояниеОС [Query]
|
||
Format: ДФ=dd.MM.yyyy
|
||
```
|
||
|
||
Показывает: dataset, title, type, role, useRestriction, format, presentationExpression.
|
||
|
||
## links — связи наборов данных
|
||
|
||
```
|
||
=== Links (4) ===
|
||
|
||
РасчетНалогаНаИмущество -> СостояниеОС :
|
||
Организация -> Организация
|
||
ОсновноеСредство -> ОсновноеСредство
|
||
```
|
||
|
||
Группирует по парам наборов. Показывает поля связи и параметры.
|
||
|
||
## calculated — вычисляемые поля
|
||
|
||
Без `-Name` — карта: имена и заголовки:
|
||
```
|
||
=== Calculated fields (23) ===
|
||
ДоляСтоимости "Доля стоимости"
|
||
КоэффициентКи "Коэффициент Ки"
|
||
...
|
||
```
|
||
|
||
С `-Name <поле>` — полное выражение:
|
||
```
|
||
=== Calculated: ДоляСтоимости ===
|
||
|
||
Expression:
|
||
ВЫБОР КОГДА ... ТОГДА "1" ИНАЧЕ ... КОНЕЦ
|
||
Title: Доля стоимости
|
||
Restrict: condition
|
||
```
|
||
|
||
## resources — ресурсы (итоги по группировкам)
|
||
|
||
Без `-Name` — карта: имена полей, `*` = есть формулы по группировкам:
|
||
```
|
||
=== Resources (51) ===
|
||
НалоговаяБаза
|
||
КоэффициентКи *
|
||
...
|
||
* = has group-level formulas
|
||
```
|
||
|
||
С `-Name <поле>` — формулы агрегации:
|
||
```
|
||
=== Resource: ДатаСостояния ===
|
||
|
||
[ОсновноеСредство] ЕстьNull(ДатаСостояния, "")
|
||
```
|
||
|
||
## params — параметры схемы
|
||
|
||
```
|
||
=== Parameters (16) ===
|
||
Name Type Default Visible Expression
|
||
Период StandardPeriod LastMonth yes -
|
||
НачалоПериода DateTime - hidden &Период.ДатаНачала
|
||
Организация CatalogRef.Организации null yes -
|
||
```
|
||
|
||
## variant — варианты отчёта
|
||
|
||
Без `-Name` — список вариантов:
|
||
```
|
||
=== Variants (2) ===
|
||
[1] НоменклатураИЦены "Номенклатура и цены" Table(detail) 3 filters
|
||
[2] НоменклатураБезЦен "Номенклатура без цен" Group(detail) 2 filters
|
||
```
|
||
|
||
С `-Name <N|имя>` — структура конкретного варианта:
|
||
```
|
||
=== Variant [1]: НоменклатураИЦены "Номенклатура и цены" ===
|
||
|
||
Structure:
|
||
Table "Таблица"
|
||
├── Columns: [ТипЦен Items]
|
||
│ Selection: Auto, Цена
|
||
└── Rows: [Номенклатура Items]
|
||
Selection: Номенклатура, УИД, Auto
|
||
|
||
Filter:
|
||
[ ] Номенклатура InHierarchy [user]
|
||
[ ] ТипЦен Equal
|
||
[x] ВАрхиве = false "Исключая скрытые товары"
|
||
|
||
DataParams: КлючВарианта="НоменклатураИЦены"
|
||
Output: style=ЧерноБелый groups=Separately totalsH=None totalsV=None
|
||
```
|
||
|
||
## templates — привязки шаблонов вывода
|
||
|
||
Три типа привязок: `fieldTemplate` (к полю), `groupTemplate` (к группировке, Header/Footer), `groupHeaderTemplate` (заголовок группы).
|
||
|
||
Без `-Name` — карта привязок:
|
||
```
|
||
=== Templates (70 defined: 49 field, 37 group) ===
|
||
|
||
Field bindings (49): (all trivial)
|
||
ОстаточнаяСтоимостьНа0101, ОстаточнаяСтоимостьНа0102, ...
|
||
|
||
Group bindings (37):
|
||
ВидНалоговойБазы
|
||
Header -> Макет3 (1 rows, 1 params)
|
||
СреднегодоваяСтоимость2019
|
||
Footer -> Макет50 (1 rows) spacer
|
||
GroupHeader -> Макет40 (3 rows)
|
||
```
|
||
|
||
С `-Name <группировка|поле>` — содержимое шаблонов:
|
||
```
|
||
=== Templates: СреднегодоваяСтоимость2019 ===
|
||
|
||
Footer -> Макет50 [1 rows, 1 cells]:
|
||
Row 1: (empty)
|
||
|
||
GroupHeader -> Макет40 [3 rows, 78 cells]:
|
||
Row 1: "№ п/п" | "###Группировки1###" | "Инв. номер" | ...
|
||
Row 2: "01.01" | "01.02" | ... | "31.12"
|
||
Row 3: "1" | "2" | ... | "26"
|
||
```
|
||
|
||
Для field-привязок:
|
||
```
|
||
=== Field template: ОстаточнаяСтоимостьНа0101 -> Макет4 ===
|
||
[1 rows, 1 cells]
|
||
Row 1: {ОстаточнаяСтоимостьНа0101}
|
||
(all params trivial)
|
||
```
|
||
|
||
**Тривиальность выражений**: `Поле = Поле` и `Поле = Представление(Поле)` считаются тривиальными и НЕ выводятся. Показываются только нетривиальные — когда выражение содержит другое поле, вызов метода, пустую строку и т.д.
|
||
|
||
## trace — трассировка поля от заголовка до запроса
|
||
|
||
Ищет поле по dataPath ИЛИ заголовку (включая подстроку) и показывает полную цепочку происхождения за один вызов:
|
||
|
||
```
|
||
=== Trace: КоэффициентКи "Коэффициент Ки" ===
|
||
|
||
Dataset: (schema-level only, not in dataset fields)
|
||
|
||
Calculated:
|
||
ВЫБОР КОГДА ... ТОГДА 0 ИНАЧЕ ... КОНЕЦ
|
||
Operands:
|
||
КоличествоМесяцевИспользования -> РасчетНалогаНаИмущество [Query]
|
||
КоличествоМесяцевВладения -> РасчетНалогаНаИмущество [Query]
|
||
|
||
Resource:
|
||
[ОсновноеСредство] Сумма(КоэффициентКи)
|
||
```
|
||
|
||
Типичный сценарий: пользователь видит колонку "Коэффициент Ки" в отчёте и спрашивает как она считается. Один вызов `trace` показывает: формулу вычисления, откуда берутся операнды, как агрегируется в ресурс.
|
||
|
||
## Что не выводится
|
||
|
||
- XML namespace-декларации
|
||
- Обёртки v8:item/v8:lang/v8:content (извлекаем чистый текст)
|
||
- userSettingID (GUID-ы пользовательских настроек)
|
||
- Дефолтные periodAdditionBegin/End = 0001-01-01
|
||
- viewMode
|