Платформа 3V/Справочник/Группировка: различия между версиями
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Группировка элементов справочника (groupingOptions)}} | {{DISPLAYTITLE:Группировка элементов справочника (groupingOptions)}} | ||
− | Разбивка на группы элементов справочника | + | Разбивка на группы элементов справочника на основании от собственного или связанного атрибута |
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
Строка 18: | Строка 18: | ||
], | ], | ||
"fillOwnTransitiveForLinkedAttributes": false, | "fillOwnTransitiveForLinkedAttributes": false, | ||
− | "isGroupingNull": | + | "isGroupingNull": false, |
− | " | + | "nullValueGroupName": "Не задано", |
− | " | + | "areNullValuesLast": false, |
− | " | + | "areGroupingElementsLast": false |
− | } | + | } |
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 29: | Строка 29: | ||
! Значение !! Описание | ! Значение !! Описание | ||
|- | |- | ||
− | | destinationAttribute || В | + | | destinationAttribute || В каком атрибуте группируемого справочника будет формироваться наименование группировочного элемента (атрибут должен быть текстовый). По умолчанию: атрибут "Наименование" |
|- | |- | ||
| [[Платформа 3V/Справочник/Группировка|'''dictionaryGroupingAttributes''']] || Описание пути до атрибута, по которому будет производиться группировка | | [[Платформа 3V/Справочник/Группировка|'''dictionaryGroupingAttributes''']] || Описание пути до атрибута, по которому будет производиться группировка | ||
|- | |- | ||
− | | fillOwnTransitiveForLinkedAttributes || | + | | fillOwnTransitiveForLinkedAttributes || Флаг заполнения у группировочного элемента атрибута, который является транзитивным для группируемого справочника и собственным для справочника, по которому происходит группировка |
|- | |- | ||
− | | isGroupingNull || Флаг группировки элементов с пустым атрибутом, по которому происходит группировка, под отдельный элемент | + | | isGroupingNull || Флаг группировки элементов с пустым атрибутом, по которому происходит группировка, под отдельный элемент (true / false). По умолчанию группировка происходит под элемент "Не задано", название указывается в nullValueGroupName |
|- | |- | ||
| nullValueGroupName || Наименование группировочного элемента для элементов с пустым группировочным атрибутом | | nullValueGroupName || Наименование группировочного элемента для элементов с пустым группировочным атрибутом | ||
Строка 56: | Строка 56: | ||
] | ] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Строка 65: | Строка 64: | ||
| groupCustomName || Пользовательское наименование группировочных элементов | | groupCustomName || Пользовательское наименование группировочных элементов | ||
+ | |} | ||
+ | |||
+ | == Примеры использования группировочных настроек == | ||
+ | |||
+ | Для формирования связи между объектами строительства и инвестиционными проектами в справочнике "Объекты строительства" настроен связанный атрибут на справочник "Инвестиционный проект" | ||
+ | |||
+ | ''Исходный вид справочника "Объекты строительства":'' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Наименование объекта (id=2) !! Инвестиционный проект (id=21) !! Код объекта (id=22) | ||
+ | |- | ||
+ | | Объект 1 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | Объект 2 || ИП 1 || 01-2 | ||
+ | |- | ||
+ | | Объект 3 || ИП 2 || 02-3 | ||
+ | |- | ||
+ | | Объект 4 || - || 00-4 | ||
+ | |} | ||
+ | |||
+ | '''По умолчанию группировка по атрибуту "Инвестиционные проекты"''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Номер объекта !! Инвестиционный проект !! Код объекта | ||
+ | |- | ||
+ | | .. Объект 4 || - || 00-4 | ||
+ | |- | ||
+ | | '''ИП 1''' || || | ||
+ | |- | ||
+ | | .. Объект 1 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | .. Объект 2 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | '''ИП 2''' || || | ||
+ | |- | ||
+ | | .. Объект 3 || ИП 2 || 02-3 | ||
+ | |} | ||
+ | |||
+ | === Атрибут для наименования группировочного элемента (destinationAttribute) === | ||
+ | |||
+ | '''По атрибуту "Код объекта" (id=22)''' | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | "destinationAttribute": { | ||
+ | "id": 22, | ||
+ | "discriminator": "OwnAttributeDefinitionDto" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Номер объекта !! Инвестиционный проект !! Код объекта | ||
+ | |- | ||
+ | | .. Объект 4 || - || 00-4 | ||
+ | |- | ||
+ | | || || '''ИП 1''' | ||
+ | |- | ||
+ | | .. Объект 1 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | .. Объект 2 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | || || '''ИП 2''' | ||
+ | |- | ||
+ | | .. Объект 3 || ИП 2 || 02-3 | ||
+ | |} | ||
+ | |||
+ | === Флаг fillOwnTransitiveForLinkedAttributes === | ||
+ | Флаг используется при необходимости заполнить у группировочного элемента атрибут, который является транзитивным для группируемого справочника и собственным для справочника, по которому происходит группировка | ||
+ | |||
+ | Группируем справочник "Объекты строительства" по инвестиционным проектам и необходимо, чтобы атр."Код ИП" справочника "Инвестиционные проекты" заполнился как у группируемых элементов, так и у группировочного, для этого выставляем флаг | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Номер объекта !! Инвестиционный проект !! Код объекта !! Код инвест.проекта | ||
+ | |- | ||
+ | | .. Объект 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 не заполнен. По умолчанию "Не задано" | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Номер объекта !! Инвестиционный проект !! Код объекта | ||
+ | |- | ||
+ | | '''Не задано''' || || | ||
+ | |- | ||
+ | | .. Объект 4 || - || 00-4 | ||
+ | |- | ||
+ | | '''ИП 1''' || || | ||
+ | |- | ||
+ | | .. Объект 1 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | .. Объект 2 || ИП 1 || 01-2 | ||
+ | |- | ||
+ | | '''ИП 2''' || | ||
+ | |- | ||
+ | | .. Объект 3 || ИП 2 || 02-3 | ||
+ | |} | ||
+ | |||
+ | nullValueGroupName: "Без ИП" | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Номер объекта !! Инвестиционный проект !! Код объекта | ||
+ | |- | ||
+ | | '''Без ИП''' || || | ||
+ | |- | ||
+ | | .. Объект 4 || - || 00-4 | ||
+ | |- | ||
+ | | '''ИП 1''' || || | ||
+ | |- | ||
+ | | .. Объект 1 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | .. Объект 2 || ИП 1 || 01-2 | ||
+ | |- | ||
+ | | '''ИП 2''' || || | ||
+ | |- | ||
+ | | .. Объект 3 || ИП 2 || 02-3 | ||
+ | |} | ||
+ | === Флаг areNullValuesLast === | ||
+ | Флаг используется при необходимости располагать элементы с пустым группировочным атрибутом в конце таблицы | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Номер объекта !! Инвестиционный проект !! Код объекта | ||
+ | |- | ||
+ | | '''ИП 1''' || || | ||
+ | |- | ||
+ | | .. Объект 1 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | .. Объект 2 || ИП 1 || 01-2 | ||
+ | |- | ||
+ | | '''ИП 2''' || | ||
+ | |- | ||
+ | | .. Объект 3 || ИП 2 || 02-3 | ||
+ | |- | ||
+ | | Объект 4 || - || 00-4 | ||
+ | |} | ||
+ | === Флаг areGroupingElementsLast === | ||
+ | Флаг используется при необходимости располагать группировочные элементы после группируемых | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Номер объекта !! Инвестиционный проект !! Код объекта | ||
+ | |- | ||
+ | | Объект 4 || - || 00-4 | ||
+ | |- | ||
+ | | Объект 1 || ИП 1 || 01-1 | ||
+ | |- | ||
+ | | Объект 2 || ИП 1 || 01-2 | ||
+ | |- | ||
+ | | '''ИП 1''' || || | ||
+ | |- | ||
+ | | Объект 3 || ИП 2 || 02-3 | ||
+ | |- | ||
+ | | '''ИП 2''' || || | ||
|} | |} |
Версия 07:05, 6 апреля 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 |