Группировка элементов справочника (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 "groupCustomName": null
13 }
14 ],
15 "fillOwnTransitiveForLinkedAttributes": false,
16 "isGroupingNull": false,
17 "nullValueGroupName": "Не задано",
18 "areNullValuesLast": false,
19 "areGroupingElementsLast": false
20 }
Значение | Описание |
---|---|
destinationAttribute | В каком атрибуте группируемого справочника будет формироваться наименование группировочного элемента (атрибут должен быть текстовый). По умолчанию: атрибут "Наименование" |
dictionaryGroupingAttributes | Описание пути до атрибута, по которому будет производиться группировка |
fillOwnTransitiveForLinkedAttributes | Флаг заполнения у группировочного элемента атрибута, который является транзитивным для группируемого справочника и собственным для справочника, по которому происходит группировка |
isGroupingNull | Флаг группировки элементов с пустым атрибутом, по которому происходит группировка, под отдельный элемент (true / false). По умолчанию группировка происходит под элемент "Не задано", название указывается в nullValueGroupName |
nullValueGroupName | Наименование группировочного элемента для элементов с пустым группировочным атрибутом |
areNullValuesLast | Флаг размещения последними элементов с пустым группировочным атрибутом (true / false) |
areGroupingElementsLast | Флаг размещения группировочных элементов после входящих в группу элементов (true / false) |
Содержание
Ссылка на группировочные атрибуты (dictionaryGroupingAttributes)
Указываются атрибуты, по которым необходимо сгруппировать справочник. Может иметь один или больше группировочных атрибутов
1 "dictionaryGroupingAttributes": [
2 {
3 "attribute": {
4 "id": 21,
5 "discriminator": "OwnAttributeDefinitionDto"
6 },
7 "groupCustomName": null
8 }
9 ]
Значение | Описание |
---|---|
attribute | Описание пути до атрибута, по которому будет производиться группировка |
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 |
Флаг 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 |