Платформа 3V/Формы/Источники данных/Справочник/Фильтрация/От значений выражения: различия между версиями
< Платформа 3V | Формы | Источники данных | Справочник | Фильтрация
Перейти к навигации
Перейти к поиску
Строка 1: | Строка 1: | ||
!!! СТРАНИЦА НАХОДИТСЯ В СТАДИИ РАЗРАБОКИ!!! <br> | !!! СТРАНИЦА НАХОДИТСЯ В СТАДИИ РАЗРАБОКИ!!! <br> | ||
− | Фильтр по значению выражения используется в тех случаях, когда необходимо отфильтровать данные по нескольким параметрам ( | + | Фильтр по значению выражения используется в тех случаях, когда необходимо отфильтровать данные по нескольким параметрам (см. пример). |
− | Ниже представлена структура фильтра | + | Ниже представлена структура фильтра. |
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
Строка 33: | Строка 33: | ||
|- | |- | ||
| conditionId || [[Платформа_3V/Формы/Правила| '''Условия''']], при которых применяется фильтр | | conditionId || [[Платформа_3V/Формы/Правила| '''Условия''']], при которых применяется фильтр | ||
+ | |} | ||
+ | |||
+ | Помимо фильтра необходимо описать выражение и параметры, которые используются для определения значений выражения. | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | "expressions": [ | ||
+ | { | ||
+ | "id": 10, | ||
+ | "expression": "if([1]='true', [2], [3])", | ||
+ | "returnFirstParameterValue": false, | ||
+ | "parameters": [ | ||
+ | { | ||
+ | "uiSourceId": 1, | ||
+ | "id": 1, | ||
+ | "allowMultipleValues": false, | ||
+ | "discriminator": "EntryExpressionUiSourceParameterDto" | ||
+ | }, | ||
+ | { | ||
+ | "id": 2, | ||
+ | "allowMultipleValues": true, | ||
+ | "discriminator": "EntryExpressionConstantParameterDto", | ||
+ | "value": [ | ||
+ | 3, | ||
+ | 5 | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "id": 3, | ||
+ | "allowMultipleValues": true, | ||
+ | "discriminator": "EntryExpressionConstantParameterDto", | ||
+ | "value": [8] | ||
+ | } | ||
+ | ], | ||
+ | </syntaxhighlight> | ||
+ | === Описание свойств выражений === | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Свойство !! Описание | ||
+ | |- | ||
+ | | Id || id выражения, на которое ссылается фильтр | ||
+ | |- | ||
+ | | expression|| Выражение описывается через параметры (операнды), которые описываются внутри данного блока ниже. Более подробно об этом элементе можно найти на странице [[Платформа 3V/Формы/Выражения|''' Выражения ''']] | ||
+ | |- | ||
+ | | returnFirstParameterValue|| Флаг получения в выражении отметки первого параметра в блоке "parameters" без учета самого выражения, написанного в "expression" | ||
+ | |- | ||
+ | | parameters || Виды параметров и ссылки на детальную настройку каждого вида в JSON описана на странице [[Платформа 3V/Формы/Параметры выражений и отчетов|'''Параметры выражений и отчетов''']] | ||
|} | |} |
Версия 14:23, 23 апреля 2021
!!! СТРАНИЦА НАХОДИТСЯ В СТАДИИ РАЗРАБОКИ!!!
Фильтр по значению выражения используется в тех случаях, когда необходимо отфильтровать данные по нескольким параметрам (см. пример).
Ниже представлена структура фильтра.
1 "filter": {
2 "expressionId": 10,
3 "attribute": {
4 "id": 21,
5 "discriminator": "OwnAttributeDefinitionDto"
6 },
7 "conditionType": "AttributeInCollection",
8 "inversion": false,
9 "conditionId": null,
10 "discriminator": "EntryExpressionFilterDto"
11 },
Описание свойств выражений
Свойство | Описание |
---|---|
expressionId | id выражения |
attribute | Атрибут текущего источника - справочника, элемент которого будет выбран по заданному параметру. Указывается номер Id и тип атрибута в данном случае собственный (OwnAttributeDefinitionDto), так как используются данные текущего справочника. |
discriminator | EntryExpressionFilterDto |
conditionType | Тип условий |
inversion | В значении "false" источник-справочник принимает значения, которые удовлетворяют фильтру, в значении "true" - все значения, которые наоборот не удовлетворяют ему |
conditionId | Условия, при которых применяется фильтр |
Помимо фильтра необходимо описать выражение и параметры, которые используются для определения значений выражения.
1 "expressions": [
2 {
3 "id": 10,
4 "expression": "if([1]='true', [2], [3])",
5 "returnFirstParameterValue": false,
6 "parameters": [
7 {
8 "uiSourceId": 1,
9 "id": 1,
10 "allowMultipleValues": false,
11 "discriminator": "EntryExpressionUiSourceParameterDto"
12 },
13 {
14 "id": 2,
15 "allowMultipleValues": true,
16 "discriminator": "EntryExpressionConstantParameterDto",
17 "value": [
18 3,
19 5
20 ]
21 },
22 {
23 "id": 3,
24 "allowMultipleValues": true,
25 "discriminator": "EntryExpressionConstantParameterDto",
26 "value": [8]
27 }
28 ],
Описание свойств выражений
Свойство | Описание |
---|---|
Id | id выражения, на которое ссылается фильтр |
expression | Выражение описывается через параметры (операнды), которые описываются внутри данного блока ниже. Более подробно об этом элементе можно найти на странице Выражения |
returnFirstParameterValue | Флаг получения в выражении отметки первого параметра в блоке "parameters" без учета самого выражения, написанного в "expression" |
parameters | Виды параметров и ссылки на детальную настройку каждого вида в JSON описана на странице Параметры выражений и отчетов |