diff --git a/docs/1c-dcs-spec.md b/docs/1c-dcs-spec.md
index cb0ca398..1dbe89a2 100644
--- a/docs/1c-dcs-spec.md
+++ b/docs/1c-dcs-spec.md
@@ -515,6 +515,7 @@ DataCompositionSchema
| `useRestriction` | нет | `true` — параметр скрыт от пользователя, `false` — доступен |
| `expression` | нет | Выражение для автоматического вычисления (например, `&Период.ДатаНачала`) |
| `availableAsField` | нет | `false` — параметр недоступен как поле в отчёте |
+| `valueListAllowed` | нет | `true` — разрешает передавать список значений в параметр |
| `use` | нет | Режим: `Always` (всегда), `Auto` (автоматически) |
### Типы значений параметров
@@ -562,26 +563,61 @@ DataCompositionSchema
|---|---|
| `name` | Имя макета (ссылаются groupTemplate) |
| `template` (вложенный) | Описание строк/ячеек (`dcsat:AreaTemplate`) |
-| `parameter` | Параметры макета (`dcsat:ExpressionAreaTemplateParameter`) — выражения для подстановки |
+| `parameter` (Expression) | Параметры макета (`dcsat:ExpressionAreaTemplateParameter`) — выражения для подстановки |
+| `parameter` (Details) | Параметры расшифровки (`dcsat:DetailsAreaTemplateParameter`) — для drilldown |
+
+#### DetailsAreaTemplateParameter
+
+Параметр расшифровки — активирует drilldown при клике на ячейку:
+
+```xml
+
+ Расшифровка_ПоступлениеСырья
+
+ ИмяРесурса
+ "ПоступлениеСырья"
+
+ DrillDown
+
+```
+
+Привязка к ячейке — через appearance `Расшифровка`:
+
+```xml
+
+ Расшифровка
+ Расшифровка_ПоступлениеСырья
+
+```
---
-## 10. Привязки макетов группировок (groupTemplate)
+## 10. Привязки макетов группировок (groupTemplate, groupHeaderTemplate)
-Связывают группировку с пользовательским макетом:
+Связывают группировку с пользовательским макетом. Два XML-элемента:
+
+- `` — шаблон строки данных (`Header`) и итогов (`OverallHeader`)
+- `` — шаблон заголовка группировки (шапка таблицы)
```xml
-
- ТипЦен
+
+ ДанныеОтчета
Header
Макет1
+
+
+ Счет
+ Header
+ Макет2
```
| Элемент | Описание |
|---|---|
-| `groupField` | Имя поля группировки |
-| `templateType` | Тип: `Header` (заголовок), `Footer` (подвал), `Overall` (общий) |
+| `groupField` | Привязка к полю группировки |
+| `groupName` | Привязка к именованной группировке в структуре варианта |
+| `templateType` | `Header` (строки данных), `OverallHeader` (итоги) |
| `template` | Ссылка на имя template из раздела 9 |
---
diff --git a/docs/skd-dsl-spec.md b/docs/skd-dsl-spec.md
index a3dcb43f..1d9f1467 100644
--- a/docs/skd-dsl-spec.md
+++ b/docs/skd-dsl-spec.md
@@ -297,7 +297,7 @@ XML-маппинг — по `` на каждый элемент:
### Shorthand
```
-": [= ] [@autoDates]"
+": [= ] [@autoDates] [@valueList] [@hidden]"
```
Примеры:
@@ -332,6 +332,25 @@ XML-маппинг — по `` на каждый элемент:
"parameters": ["Период: StandardPeriod = LastMonth @autoDates"]
```
+### @valueList
+
+Флаг `@valueList` генерирует `true` — разрешает передавать список значений в параметр:
+
+```json
+"parameters": ["Организации: CatalogRef.Организации @valueList"]
+```
+
+### @hidden
+
+Флаг `@hidden` — скрытый параметр. Автоматически ставит `availableAsField=false` и исключает параметр из автогенерируемых `dataParameters` при `"dataParameters": "auto"`:
+
+```json
+"parameters": [
+ { "name": "Счет43", "type": "ChartOfAccountsRef.Хозрасчетный", "value": "...", "hidden": true },
+ "СкрытыйПараметр: string = test @hidden"
+]
+```
+
### Объектная форма
```json
@@ -355,6 +374,8 @@ XML-маппинг — по `` на каждый элемент:
| `value` | Значение по умолчанию |
| `expression` | Выражение для вычисления |
| `availableAsField` | `false` — скрыть из полей |
+| `valueListAllowed` | `true` — разрешить список значений |
+| `hidden` | `true` — скрытый параметр (авто `availableAsField=false`, исключение из `dataParameters: auto`) |
| `useRestriction` | `true` — скрыть от пользователя |
| `use` | `"Always"`, `"Auto"` |
@@ -399,6 +420,8 @@ XML-маппинг — по `` на каждый элемент:
}
```
+Ключ `field` — алиас для `dataPath` (используется если `dataPath` не указан).
+
---
## 8. Связи наборов (dataSetLinks)
@@ -606,6 +629,14 @@ XML-маппинг — по `` на каждый элемент:
### dataParameters
+#### Автогенерация
+
+```json
+"dataParameters": "auto"
+```
+
+Генерирует записи `dataParameters` для всех не-hidden параметров с `userSettingID`. Скрытые параметры (`hidden: true` / `@hidden`) исключаются.
+
#### Shorthand-строка
```json
@@ -760,7 +791,7 @@ XML-маппинг — по `` на каждый элемент:
| `style` | Именованный пресет оформления (по умолчанию `"data"`) |
| `widths` | Массив ширин колонок (применяется ко всем строкам) |
| `minHeight` | Минимальная высота первой строки (для шапок) |
-| `parameters` | Параметры макета — выражения для подстановки |
+| `parameters` | Параметры макета — выражения для подстановки (поддерживают `drilldown`) |
#### Синтаксис ячеек
@@ -820,14 +851,35 @@ XML-маппинг — по `` на каждый элемент:
Детект: если есть `rows` — используется компактный DSL, иначе — raw XML из `template`.
+#### Расшифровка (drilldown) в параметрах шаблона
+
+Ключ `drilldown` в параметре шаблона автоматически генерирует:
+1. `DetailsAreaTemplateParameter` с именем `Расшифровка_<значение>`, `fieldExpression` по полю `ИмяРесурса`, `mainAction=DrillDown`
+2. Привязку `Расшифровка` в appearance ячеек, ссылающихся на этот параметр через `{Имя}`
+
+```json
+"parameters": [
+ { "name": "Сырье", "expression": "ПоступлениеСырья", "drilldown": "ПоступлениеСырья" }
+]
+```
+
### groupTemplates
```json
"groupTemplates": [
- { "groupField": "ТипЦен", "templateType": "Header", "template": "Макет1" }
+ { "groupName": "ДанныеОтчета", "templateType": "GroupHeader", "template": "Макет1" },
+ { "groupField": "Счет", "templateType": "Header", "template": "Макет2" },
+ { "groupField": "Счет", "templateType": "OverallHeader", "template": "Макет3" }
]
```
+| Ключ | Описание |
+|------|----------|
+| `groupField` | Привязка к полю группировки → `` |
+| `groupName` | Привязка к именованной группировке в структуре варианта → `` |
+| `templateType` | `Header` / `OverallHeader` → ``, `GroupHeader` → `` |
+| `template` | Имя макета |
+
---
## 11. Полный пример — минимальный
diff --git a/docs/skd-guide.md b/docs/skd-guide.md
index 65cb07e2..cda86ddb 100644
--- a/docs/skd-guide.md
+++ b/docs/skd-guide.md
@@ -71,7 +71,7 @@
]
```
-`@autoDates` автоматически генерирует параметры `ДатаНачала`/`ДатаОкончания` (заменяет 5 строк на 1).
+Флаги: `@autoDates` (авто ДатаНачала/ДатаОкончания), `@valueList` (разрешить список значений), `@hidden` (скрыть параметр, исключить из `dataParameters: auto`).
### Вычисляемые поля — shorthand
@@ -96,7 +96,7 @@
```
- **filter shorthand**: `"Поле оператор значение @флаги"` — флаги `@off`, `@user`, `@quickAccess`, `@normal`, `@inaccessible`
-- **dataParameters shorthand**: `"Имя = значение @флаги"`
+- **dataParameters shorthand**: `"Имя = значение @флаги"`, или `"auto"` — автогенерация для всех не-hidden параметров
- **structure shorthand**: `"Поле1 > Поле2 > details"` — `>` разделяет уровни группировки
- **conditionalAppearance**: условное оформление с автоопределением типов значений (Color, Boolean, LocalStringType)
@@ -125,13 +125,17 @@
}
],
"groupTemplates": [
- { "groupField": "Счет", "templateType": "GroupHeader", "template": "Макет1" },
+ { "groupName": "ДанныеОтчета", "templateType": "GroupHeader", "template": "Макет1" },
{ "groupField": "Счет", "templateType": "Header", "template": "Макет2" }
]
```
Синтаксис ячеек: `"текст"` — статика, `"{Имя}"` — параметр, `"|"` — объединение с ячейкой выше, `null` — пустая.
+Привязки: `groupField` — к полю, `groupName` — к именованной группировке. `templateType`: `Header`/`OverallHeader` → ``, `GroupHeader` → ``.
+
+Расшифровка (drilldown): ключ `drilldown` в параметре шаблона генерирует `DetailsAreaTemplateParameter` и привязку `Расшифровка` в appearance ячеек.
+
Встроенные стили: `header` (фон, центр, перенос), `data` (фон группы), `subheader` (без фона, центр), `total` (без фона). Все — Arial 10, рамки Solid 1px, цвета через стили платформы. Пользовательские стили — через `skd-styles.json` в директории проекта.
### Объектная форма