Сортировка элементов справочника (SortingOptions)

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Последовательное расположение в зависимости от выбранного атрибута справочника

 1  "sortingOptions": {
 2         "attributes": [
 3           {
 4             "attribute": {
 5               "id": 1,
 6               "discriminator": "OwnAttributeDefinitionDto"
 7             },
 8             "sortDirection": "Descending",
 9             "nullsSortingMode": "PlaceFirst"
10           }
11         ]
12       }
Значение Описание
attribute описание пути до атрибута, по которому будет производиться сортировка
sortDirection Направление по убыванию / по возрастанию ("Descending" / "Ascending")
nullsSortingMode нулевые значения в начале / в конце ("PlaceFirst" / "PlaceLast")

Особенности использования

Сортировка по атрибуту справочника с типом "числовой, дробный" происходит по математической логике упорядочивания чисел (1 < 2 < 10).

Сортировка по атрибуту справочника с типом "дата" происходит в соответствии с порядком дней в календаре.

Сортировка по текстовому атрибуту происходит по каждому символу. Порядок по возрастанию, в рамках которого происходит упорядочивание, каждого символа в названии: символы ("-", "!" и т.д.), цифры (от 0 до 9), буквы русские (от А до Я), буквы латинского алфавита ( от A до Z)

Пример использования в форме и отчете

Кейс: исходный справочник "Договоры" имеет следующую структуру и типы данных в атрибутах

Идентификатор Наименование Порядковый номер Сумма по договору Дата подписания
1 2 21 22 23
Числовой Текстовый Числовой Дробный Дата
1 123 1 100,00 22.04.2021
2 АБ-1-11 10 100,12 04.03.2021
3 1 2 98,00 22.04.2021
4 11 21 1,00
5 -11-АБ 3 11,00 05.08.2019
6 2 11 14.05.2020

При сортировке по возрастанию по атр. "Наименование" (id=2) порядок будет следующий:

Идентификатор Наименование Порядковый номер Сумма по договору Дата подписания
1 2 21 22 23
Числовой Текстовый Числовой Дробный Дата
5 -11-АБ 3 11,00 05.08.2019
3 1 2 98,00 22.04.2021
4 11 21 1,00
1 123 1 100,00 22.04.2021
6 2 11 14.05.2020
2 АБ-1-11 10 100,12 04.03.2021

При сортировке по возрастанию по атр. "Порядковый номер" (id=21) порядок будет следующий:

Идентификатор Наименование Порядковый номер Сумма по договору Дата подписания
1 2 21 22 23
Числовой Текстовый Числовой Дробный Дата
1 123 1 100,00 22.04.2021
3 1 2 98,00 22.04.2021
5 -11-АБ 3 11,00 05.08.2019
2 АБ-1-11 10 100,12 04.03.2021
6 2 11 14.05.2020
4 11 21 1,00

При сортировке по убыванию по атр. "Сумма по договору" (id=22) и расположению пустых атрибутов в конце списка порядок будет следующий:

Идентификатор Наименование Порядковый номер Сумма по договору Дата подписания
1 2 21 22 23
Числовой Текстовый Числовой Дробный Дата
2 АБ-1-11 10 100,12 04.03.2021
1 123 1 100,00 22.04.2021
3 1 2 98,00 22.04.2021
5 -11-АБ 3 11,00 05.08.2019
4 11 21 1,00
6 2 11 14.05.2020

При сортировке по убыванию по атр. "Дата подписания" (id=22) и расположению пустых атрибутов в начале списка порядок будет следующий:

Идентификатор Наименование Порядковый номер Сумма по договору Дата подписания
1 2 21 22 23
Числовой Текстовый Числовой Дробный Дата
4 11 21 1,00
1 123 1 100,00 22.04.2021
3 1 2 98,00 22.04.2021
2 АБ-1-11 10 100,12 04.03.2021
6 2 11 14.05.2020
5 -11-АБ 3 11,00 05.08.2019

Пример использования в форме


JSON серверной карточки со всеми примерами сортировки


Сортировки в форме.jpg

Пример использования в отчете


JSON отчета с сортировкой по возрастанию атр."Наименование"


Сортировка в отчете.jpg