Платформа 3V/Формы/Источники данных/Справочник/Фильтрация/От значений выражения: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 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 описана на странице Параметры выражений и отчетов