Платформа 3V/Справочник/Группировка: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 44: Строка 44:
 
|}
 
|}
  
== Ссылка на группировочный атрибут (dictionaryGroupingAttributes) ==
+
== Ссылка на группировочные атрибуты (dictionaryGroupingAttributes) ==
 +
Указываются атрибуты, по которым необходимо сгруппировать справочник. Может иметь один или больше группировочных атрибутов
 
<syntaxhighlight lang="JSON" line>
 
<syntaxhighlight lang="JSON" line>
 
         "dictionaryGroupingAttributes": [
 
         "dictionaryGroupingAttributes": [

Версия 07:26, 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