mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-13 09:24:55 +03:00
docs(skd): update specs for hidden, valueListAllowed, drilldown, groupHeaderTemplate
- skd-dsl-spec: @valueList, @hidden, field alias, dataParameters auto, drilldown, groupName/GroupHeader - skd-guide: new parameter flags, dataParameters auto, groupName, drilldown - 1c-dcs-spec: valueListAllowed element, DetailsAreaTemplateParameter, groupHeaderTemplate Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
+43
-7
@@ -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
|
||||
<parameter xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template"
|
||||
xsi:type="dcsat:DetailsAreaTemplateParameter">
|
||||
<dcsat:name>Расшифровка_ПоступлениеСырья</dcsat:name>
|
||||
<dcsat:fieldExpression>
|
||||
<dcsat:field>ИмяРесурса</dcsat:field>
|
||||
<dcsat:expression>"ПоступлениеСырья"</dcsat:expression>
|
||||
</dcsat:fieldExpression>
|
||||
<dcsat:mainAction>DrillDown</dcsat:mainAction>
|
||||
</parameter>
|
||||
```
|
||||
|
||||
Привязка к ячейке — через appearance `Расшифровка`:
|
||||
|
||||
```xml
|
||||
<dcscor:item>
|
||||
<dcscor:parameter>Расшифровка</dcscor:parameter>
|
||||
<dcscor:value xsi:type="dcscor:Parameter">Расшифровка_ПоступлениеСырья</dcscor:value>
|
||||
</dcscor:item>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 10. Привязки макетов группировок (groupTemplate)
|
||||
## 10. Привязки макетов группировок (groupTemplate, groupHeaderTemplate)
|
||||
|
||||
Связывают группировку с пользовательским макетом:
|
||||
Связывают группировку с пользовательским макетом. Два XML-элемента:
|
||||
|
||||
- `<groupTemplate>` — шаблон строки данных (`Header`) и итогов (`OverallHeader`)
|
||||
- `<groupHeaderTemplate>` — шаблон заголовка группировки (шапка таблицы)
|
||||
|
||||
```xml
|
||||
<groupTemplate>
|
||||
<groupField>ТипЦен</groupField>
|
||||
<groupHeaderTemplate>
|
||||
<groupName>ДанныеОтчета</groupName>
|
||||
<templateType>Header</templateType>
|
||||
<template>Макет1</template>
|
||||
</groupHeaderTemplate>
|
||||
<groupTemplate>
|
||||
<groupField>Счет</groupField>
|
||||
<templateType>Header</templateType>
|
||||
<template>Макет2</template>
|
||||
</groupTemplate>
|
||||
```
|
||||
|
||||
| Элемент | Описание |
|
||||
|---|---|
|
||||
| `groupField` | Имя поля группировки |
|
||||
| `templateType` | Тип: `Header` (заголовок), `Footer` (подвал), `Overall` (общий) |
|
||||
| `groupField` | Привязка к полю группировки |
|
||||
| `groupName` | Привязка к именованной группировке в структуре варианта |
|
||||
| `templateType` | `Header` (строки данных), `OverallHeader` (итоги) |
|
||||
| `template` | Ссылка на имя template из раздела 9 |
|
||||
|
||||
---
|
||||
|
||||
+55
-3
@@ -297,7 +297,7 @@ XML-маппинг — по `<group>` на каждый элемент:
|
||||
### Shorthand
|
||||
|
||||
```
|
||||
"<name>: <type> [= <default>] [@autoDates]"
|
||||
"<name>: <type> [= <default>] [@autoDates] [@valueList] [@hidden]"
|
||||
```
|
||||
|
||||
Примеры:
|
||||
@@ -332,6 +332,25 @@ XML-маппинг — по `<group>` на каждый элемент:
|
||||
"parameters": ["Период: StandardPeriod = LastMonth @autoDates"]
|
||||
```
|
||||
|
||||
### @valueList
|
||||
|
||||
Флаг `@valueList` генерирует `<valueListAllowed>true</valueListAllowed>` — разрешает передавать список значений в параметр:
|
||||
|
||||
```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-маппинг — по `<group>` на каждый элемент:
|
||||
| `value` | Значение по умолчанию |
|
||||
| `expression` | Выражение для вычисления |
|
||||
| `availableAsField` | `false` — скрыть из полей |
|
||||
| `valueListAllowed` | `true` — разрешить список значений |
|
||||
| `hidden` | `true` — скрытый параметр (авто `availableAsField=false`, исключение из `dataParameters: auto`) |
|
||||
| `useRestriction` | `true` — скрыть от пользователя |
|
||||
| `use` | `"Always"`, `"Auto"` |
|
||||
|
||||
@@ -399,6 +420,8 @@ XML-маппинг — по `<group>` на каждый элемент:
|
||||
}
|
||||
```
|
||||
|
||||
Ключ `field` — алиас для `dataPath` (используется если `dataPath` не указан).
|
||||
|
||||
---
|
||||
|
||||
## 8. Связи наборов (dataSetLinks)
|
||||
@@ -606,6 +629,14 @@ XML-маппинг — по `<group>` на каждый элемент:
|
||||
|
||||
### dataParameters
|
||||
|
||||
#### Автогенерация
|
||||
|
||||
```json
|
||||
"dataParameters": "auto"
|
||||
```
|
||||
|
||||
Генерирует записи `dataParameters` для всех не-hidden параметров с `userSettingID`. Скрытые параметры (`hidden: true` / `@hidden`) исключаются.
|
||||
|
||||
#### Shorthand-строка
|
||||
|
||||
```json
|
||||
@@ -760,7 +791,7 @@ XML-маппинг — по `<group>` на каждый элемент:
|
||||
| `style` | Именованный пресет оформления (по умолчанию `"data"`) |
|
||||
| `widths` | Массив ширин колонок (применяется ко всем строкам) |
|
||||
| `minHeight` | Минимальная высота первой строки (для шапок) |
|
||||
| `parameters` | Параметры макета — выражения для подстановки |
|
||||
| `parameters` | Параметры макета — выражения для подстановки (поддерживают `drilldown`) |
|
||||
|
||||
#### Синтаксис ячеек
|
||||
|
||||
@@ -820,14 +851,35 @@ XML-маппинг — по `<group>` на каждый элемент:
|
||||
|
||||
Детект: если есть `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` | Привязка к полю группировки → `<groupField>` |
|
||||
| `groupName` | Привязка к именованной группировке в структуре варианта → `<groupName>` |
|
||||
| `templateType` | `Header` / `OverallHeader` → `<groupTemplate>`, `GroupHeader` → `<groupHeaderTemplate>` |
|
||||
| `template` | Имя макета |
|
||||
|
||||
---
|
||||
|
||||
## 11. Полный пример — минимальный
|
||||
|
||||
+7
-3
@@ -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` → `<groupTemplate>`, `GroupHeader` → `<groupHeaderTemplate>`.
|
||||
|
||||
Расшифровка (drilldown): ключ `drilldown` в параметре шаблона генерирует `DetailsAreaTemplateParameter` и привязку `Расшифровка` в appearance ячеек.
|
||||
|
||||
Встроенные стили: `header` (фон, центр, перенос), `data` (фон группы), `subheader` (без фона, центр), `total` (без фона). Все — Arial 10, рамки Solid 1px, цвета через стили платформы. Пользовательские стили — через `skd-styles.json` в директории проекта.
|
||||
|
||||
### Объектная форма
|
||||
|
||||
Reference in New Issue
Block a user