Платформа 3V/Справочник/Группировка: различия между версиями
Строка 92: | Строка 92: | ||
| .. Объект 4 || - || 00-4 | | .. Объект 4 || - || 00-4 | ||
|- | |- | ||
− | | '''ИП 1''' || || | + | | '''ИП 1''' || || |
|- | |- | ||
| .. Объект 1 || ИП 1 || 01-1 | | .. Объект 1 || ИП 1 || 01-1 | ||
Строка 98: | Строка 98: | ||
| .. Объект 2 || ИП 1 || 01-1 | | .. Объект 2 || ИП 1 || 01-1 | ||
|- | |- | ||
− | | '''ИП 2''' || || | + | | '''ИП 2''' || || |
|- | |- | ||
| .. Объект 3 || ИП 2 || 02-3 | | .. Объект 3 || ИП 2 || 02-3 | ||
Строка 140: | Строка 140: | ||
| .. Объект 4 || - || 00-4 || | | .. Объект 4 || - || 00-4 || | ||
|- | |- | ||
− | | '''ИП 1''' || || || '''01''' | + | | '''ИП 1''' || || || '''01''' || |
|- | |- | ||
| .. Объект 1 || ИП 1 || 01-1 || 01 | | .. Объект 1 || ИП 1 || 01-1 || 01 | ||
Строка 146: | Строка 146: | ||
| .. Объект 2 || ИП 1 || 01-2 || 01 | | .. Объект 2 || ИП 1 || 01-2 || 01 | ||
|- | |- | ||
− | | '''ИП 2''' || || || '''02''' | + | | '''ИП 2''' || || || '''02''' || |
|- | |- | ||
| .. Объект 3 || ИП 2 || 02-3 || 02 | | .. Объект 3 || ИП 2 || 02-3 || 02 | ||
Строка 168: | Строка 168: | ||
| .. Объект 2 || ИП 1 || 01-2 | | .. Объект 2 || ИП 1 || 01-2 | ||
|- | |- | ||
− | | '''ИП 2''' || | + | | '''ИП 2''' || || |
|- | |- | ||
| .. Объект 3 || ИП 2 || 02-3 | | .. Объект 3 || ИП 2 || 02-3 | ||
Строка 205: | Строка 205: | ||
| .. Объект 2 || ИП 1 || 01-2 | | .. Объект 2 || ИП 1 || 01-2 | ||
|- | |- | ||
− | | '''ИП 2''' || | + | | '''ИП 2''' || || |
|- | |- | ||
| .. Объект 3 || ИП 2 || 02-3 | | .. Объект 3 || ИП 2 || 02-3 |
Версия 14:08, 7 апреля 2021
Разбивка на группы элементов справочника на основании от собственного или связанного атрибута
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 |