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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
 
!!! СТРАНИЦА НАХОДИТСЯ В РАЗРАБОТКЕ!!!
 
!!! СТРАНИЦА НАХОДИТСЯ В РАЗРАБОТКЕ!!!
 
+
На практике часто необходимо отфильтровывать данные несколькими фильтрами, для это используется тип фильтра CompoundDictionaryFilterDto. В нем обязетьуказывается тип
 
<syntaxhighlight lang="JSON" line>
 
<syntaxhighlight lang="JSON" line>
 
"filter": {
 
"filter": {
 
         "type": "And",
 
         "type": "And",
 
         "filters": [
 
         "filters": [
           {
+
           {...},
            "dictionaryEntrySourceId": 2,
+
          {...},
            "sourceAttribute": {
 
              "id": 1,
 
              "discriminator": "OwnAttributeDefinitionDto"
 
            },
 
            "attribute": {
 
              "id": 21,
 
              "discriminator": "OwnAttributeDefinitionDto"
 
            },
 
            "conditionType": "AttributeInCollection",
 
            "inversion": false,
 
            "conditionId": null,
 
            "discriminator": "EntryFilterDto"
 
          },
 
          {
 
            "value": "true",
 
            "attributeId": 22,
 
            "attribute": null,
 
            "conditionType": "AttributeInCollection",
 
            "inversion": false,
 
            "conditionId": null,
 
            "discriminator": "ValueConditionalDictionaryFilterDto"
 
          }
 
 
         ],
 
         ],
 
         "inversion": false,
 
         "inversion": false,
Строка 39: Строка 17:
 
|-
 
|-
 
| type|| Тип And - выбор элементов, удовлетворяющих одновременно всем описанным фильтрам. <br> Тип Or - выберутся элементы, которые удовлетворяют хотя бы одному из описанных фильтров.
 
| type|| Тип And - выбор элементов, удовлетворяющих одновременно всем описанным фильтрам. <br> Тип Or - выберутся элементы, которые удовлетворяют хотя бы одному из описанных фильтров.
|-
 
| attribute|| [[Платформа_3V/Справочник/Связи_атрибутов_справочников|''' Атрибут''']] текущего источника, с которым будет сравниваться заданное значение. Указывается номер Id и тип атрибута в данном случае собственный (OwnAttributeDefinitionDto), так как используются данные текущего справочника.
 
 
|-
 
|-
 
| discriminator|| CompoundDictionaryFilterDto
 
| discriminator|| CompoundDictionaryFilterDto
|-
+
 
| conditionType || Тип условий
 
|-
 
| inversion || В значении "false" фильтр отберет удовлетворяющие ему значения, в значении "true" - все значения, которые наоборот не удовлетворяют ему
 
|-
 
| conditionId || [[Платформа_3V/Формы/Правила| '''Условия''']], при которых применяется фильтр
 
 
|}
 
|}
  
 
== Пример: ==
 
== Пример: ==

Версия 11:20, 19 апреля 2021

!!! СТРАНИЦА НАХОДИТСЯ В РАЗРАБОТКЕ!!! На практике часто необходимо отфильтровывать данные несколькими фильтрами, для это используется тип фильтра CompoundDictionaryFilterDto. В нем обязетьуказывается тип

1 "filter": {
2         "type": "And",
3         "filters": [
4           {...},
5           {...},
6         ],
7         "inversion": false,
8         "discriminator": "CompoundDictionaryFilterDto"

Описание свойств фильтра

Свойство Описание
type Тип And - выбор элементов, удовлетворяющих одновременно всем описанным фильтрам.
Тип Or - выберутся элементы, которые удовлетворяют хотя бы одному из описанных фильтров.
discriminator CompoundDictionaryFilterDto

Пример: