Группировка элементов справочника (groupingOptions)
Разбивка на группы элементов справочника на основании от собственного или связанного атрибута
1 "groupingOptions": {
2 "destinationAttribute": {
3 "id": 2,
4 "discriminator": "OwnAttributeDefinitionDto"
5 },
6 "dictionaryGroupingAttributes": [
7 {
8 "attribute": {
9 "id": 21,
10 "discriminator": "OwnAttributeDefinitionDto"
11 },
12 "DisplayAttribute": {
13 "id": 2,
14 "discriminator": "OwnAttributeDefinitionDto"
15 },
16 "groupCustomName": null
17 }
18 ],
19 "fillOwnTransitiveForLinkedAttributes": false,
20 "isGroupingNull": false,
21 "nullValueGroupName": "Не задано",
22 "areNullValuesLast": false,
23 "areGroupingElementsLast": false
24 }
Значение | Описание |
---|---|
destinationAttribute | В каком атрибуте группируемого справочника будет формироваться наименование группировочного элемента (атрибут должен быть текстовый). По умолчанию: атрибут "Наименование" |
dictionaryGroupingAttributes | Описание пути до атрибута, по которому будет производиться группировка |
fillOwnTransitiveForLinkedAttributes | Флаг заполнения у группировочного элемента атрибута, который является транзитивным для группируемого справочника и собственным для справочника, по которому происходит группировка |
isGroupingNull | Флаг группировки элементов с пустым атрибутом, по которому происходит группировка, под отдельный элемент (true / false). По умолчанию группировка происходит под элемент "Не задано", название указывается в nullValueGroupName |
nullValueGroupName | Наименование группировочного элемента для элементов с пустым группировочным атрибутом |
areNullValuesLast | Флаг размещения последними элементов с пустым группировочным атрибутом (true / false) |
areGroupingElementsLast | Флаг размещения группировочных элементов после входящих в группу элементов (true / false) |
Содержание
- 1 Ссылка на группировочные атрибуты (dictionaryGroupingAttributes)
- 2 Примеры использования группировочных настроек
- 2.1 Атрибут для наименования группировочного элемента (destinationAttribute)
- 2.2 Атрибут, из которого будут браться наименования для группировочных элементов (DisplayAttribute)
- 2.3 Флаг fillOwnTransitiveForLinkedAttributes
- 2.4 Флаг isGroupingNull (с учетом nullValueGroupName)
- 2.5 Флаг areNullValuesLast
- 2.6 Флаг areGroupingElementsLast
- 2.7 Группировка по нескольким атрибутам
Ссылка на группировочные атрибуты (dictionaryGroupingAttributes)
Указываются атрибуты, по которым необходимо сгруппировать справочник. Может иметь один или больше группировочных атрибутов
1 "dictionaryGroupingAttributes": [
2 {
3 "attribute": {
4 "id": 21,
5 "discriminator": "OwnAttributeDefinitionDto"
6 },
7 "DisplayAttribute": {
8 "id": 2,
9 "discriminator": "OwnAttributeDefinitionDto"
10 },
11 "groupCustomName": null
12 }
13 ]
Значение | Описание |
---|---|
attribute | Описание пути до атрибута, по которому будет производиться группировка |
DisplayAttribute | Описание атрибута из которого будут браться наименования для группировочных элементов. |
groupCustomName | Пользовательское наименование группировочных элементов |
Примеры использования группировочных настроек
Для формирования связи между объектами строительства и инвестиционными проектами в справочнике "Объекты строительства" настроен связанный атрибут на справочник "Инвестиционный проект"
Исходный вид справочника "Объекты строительства":
Наименование объекта (id=2) | Инвестиционный проект (id=21) | Код объекта (id=22) |
---|---|---|
Объект 1 | ИП 1 | 01-1 |
Объект 2 | ИП 1 | 01-2 |
Объект 3 | ИП 2 | 02-3 |
Объект 4 | - | 00-4 |
По умолчанию группировка по атрибуту "Инвестиционные проекты"
Номер объекта | Инвестиционный проект | Код объекта |
---|---|---|
.. Объект 4 | - | 00-4 |
ИП 1 | ||
.. Объект 1 | ИП 1 | 01-1 |
.. Объект 2 | ИП 1 | 01-1 |
ИП 2 | ||
.. Объект 3 | ИП 2 | 02-3 |
Атрибут для наименования группировочного элемента (destinationAttribute)
Настройка позволяет группировать не в атрибуте по умолчанию "Наименование", а другом текстовом атрибуте, например "Код объекта" (id=22)
1 "destinationAttribute": {
2 "id": 22,
3 "discriminator": "OwnAttributeDefinitionDto"
4 }
Номер объекта | Инвестиционный проект | Код объекта |
---|---|---|
.. Объект 4 | - | 00-4 |
ИП 1 | ||
.. Объект 1 | ИП 1 | 01-1 |
.. Объект 2 | ИП 1 | 01-1 |
ИП 2 | ||
.. Объект 3 | ИП 2 | 02-3 |
Атрибут, из которого будут браться наименования для группировочных элементов (DisplayAttribute)
Настройка позволяет отображать не только наименование инвестиционного проекта, но и другие атрибуты, например, "Код". (id=21)
1 "DisplayAttribute": {
2 "id": 21,
3 "discriminator": "OwnAttributeDefinitionDto"
4 }
Номер объекта | Инвестиционный проект | Код объекта |
---|---|---|
.. Объект 4 | - | 00-4 |
01 | ||
.. Объект 1 | ИП 1 | 01-1 |
.. Объект 2 | ИП 1 | 01-1 |
02 | ||
.. Объект 3 | ИП 2 | 02-3 |
DisplayAttribute задается относительно группировочного атрибута справочника, если этот группировочный атрибут является связанным или транзитивным связанным. В данном случае группировочный атрибут связан со справочником "Инвестиционный проект", значит в DisplayAttribute следует указывать атрибуты именно справочника "Инвестиционный проект".
Флаг fillOwnTransitiveForLinkedAttributes
Флаг используется при необходимости заполнить у группировочного элемента атрибут, который является транзитивным для группируемого справочника и собственным для справочника, по которому происходит группировка
Группируем справочник "Объекты строительства" по инвестиционным проектам и необходимо, чтобы атр."Код ИП" справочника "Инвестиционные проекты" заполнился как у группируемых элементов, так и у группировочного, для этого выставляем флаг
Номер объекта | Инвестиционный проект | Код объекта | Код инвест.проекта |
---|---|---|---|
.. Объект 4 | - | 00-4 | |
ИП 1 | 01 | ||
.. Объект 1 | ИП 1 | 01-1 | 01 |
.. Объект 2 | ИП 1 | 01-2 | 01 |
ИП 2 | 02 | ||
.. Объект 3 | ИП 2 | 02-3 | 02 |
Флаг isGroupingNull (с учетом nullValueGroupName)
Флаг используется при необходимости группировать элементы, которые имеют пустой группировочный атрибут под отдельный элемент с названием указанным в nullValueGroupName
nullValueGroupName не заполнен. По умолчанию "Не задано"
Номер объекта | Инвестиционный проект | Код объекта |
---|---|---|
Не задано | ||
.. Объект 4 | - | 00-4 |
ИП 1 | ||
.. Объект 1 | ИП 1 | 01-1 |
.. Объект 2 | ИП 1 | 01-2 |
ИП 2 | ||
.. Объект 3 | ИП 2 | 02-3 |
nullValueGroupName: "Без ИП"
Номер объекта | Инвестиционный проект | Код объекта |
---|---|---|
Без ИП | ||
.. Объект 4 | - | 00-4 |
ИП 1 | ||
.. Объект 1 | ИП 1 | 01-1 |
.. Объект 2 | ИП 1 | 01-2 |
ИП 2 | ||
.. Объект 3 | ИП 2 | 02-3 |
Флаг areNullValuesLast
Флаг используется при необходимости располагать элементы с пустым группировочным атрибутом в конце таблицы
Номер объекта | Инвестиционный проект | Код объекта |
---|---|---|
ИП 1 | ||
.. Объект 1 | ИП 1 | 01-1 |
.. Объект 2 | ИП 1 | 01-2 |
ИП 2 | ||
.. Объект 3 | ИП 2 | 02-3 |
Объект 4 | - | 00-4 |
Флаг areGroupingElementsLast
Флаг используется при необходимости располагать группировочные элементы после группируемых
Номер объекта | Инвестиционный проект | Код объекта |
---|---|---|
Объект 4 | - | 00-4 |
Объект 1 | ИП 1 | 01-1 |
Объект 2 | ИП 1 | 01-2 |
ИП 1 | ||
Объект 3 | ИП 2 | 02-3 |
ИП 2 |
Группировка по нескольким атрибутам
Пример группировки по атрибуту "Инвестиционные проекты" справочника "Объекты строительства" и транзитивному атрибуту "Регион" (id=22) справочника "Инвестиционные объекты". По примеру оба инвестиционных проекта имеют в атрибуте "Регион" значение "Центральный федеральный округ".
Порядок указанных атрибутов в настройке "dictionaryGroupingAttributes" определяет порядок группировки справочника.
1 "dictionaryGroupingAttributes": [
2 {
3 "attribute": {
4 "innerAttribute": {
5 "id": 22,
6 "discriminator": "OwnAttributeDefinitionDto"
7 },
8 "id": 21,
9 "discriminator": "TransitiveAttributeDefinitionDto"
10 },
11 "groupCustomName": null
12 },
13 {
14 "attribute": {
15 "id": 21,
16 "discriminator": "OwnAttributeDefinitionDto"
17 },
18 "groupCustomName": null
19 }
20 ]
Номер объекта | Инвестиционный проект | Код объекта |
---|---|---|
.. Объект 4 | - | 00-4 |
Центральный федеральный округ | ||
.. ИП 1 | ||
.... Объект 1 | ИП 1 | 01-1 |
.... Объект 2 | ИП 1 | 01-1 |
.. ИП 2 | ||
.... Объект 3 | ИП 2 | 02-3 |