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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показаны 4 промежуточные версии 1 участника)
Строка 13: Строка 13:
 
         "conditionType": "AttributeInCollection",
 
         "conditionType": "AttributeInCollection",
 
         "inversion": false,
 
         "inversion": false,
         "conditionId": null,
+
         "conditionExpressionId": null,
         "discriminator": "ValueConditionalDictionaryFilter"
+
         "discriminator": "ValueConditionalDictionaryCardsFilter"
 
       },
 
       },
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 24: Строка 24:
 
| inversion || В значении "false" источник-справочник принимает значения, которые удовлетворяют фильтру, в значении "true" - все значения, которые наоборот не удовлетворяют ему
 
| inversion || В значении "false" источник-справочник принимает значения, которые удовлетворяют фильтру, в значении "true" - все значения, которые наоборот не удовлетворяют ему
 
|-
 
|-
| discriminator|| ValueConditionalDictionaryFilter
+
| discriminator|| ValueConditionalDictionaryCardsFilter
 
|-
 
|-
 
| attribute|| [[Платформа_3V/Справочник/Связи_атрибутов_справочников|''' Атрибут''']] текущего источника, с которым будет сравниваться заданное значение. Указывается номер Id и тип атрибута в данном случае собственный (OwnAttributeDefinitionDto), так как используются данные текущего справочника.
 
| attribute|| [[Платформа_3V/Справочник/Связи_атрибутов_справочников|''' Атрибут''']] текущего источника, с которым будет сравниваться заданное значение. Указывается номер Id и тип атрибута в данном случае собственный (OwnAttributeDefinitionDto), так как используются данные текущего справочника.
Строка 32: Строка 32:
 
| value || значение с которым будет сравниваться значение атрибута фильтруемого справочника. Форматы данных должны совпадать.
 
| value || значение с которым будет сравниваться значение атрибута фильтруемого справочника. Форматы данных должны совпадать.
 
|-  
 
|-  
| conditionId || [[Платформа_3V/Формы/Правила| '''Условия''']], при которых применяется фильтр  
+
| [[ Платформа_3V/Формы/Выражения|'''conditionExpressionId''']]|| Выражение с условием, при которых применяется фильтр (выражение должно возвращать true или false)
 
|}
 
|}
  
Строка 47: Строка 47:
 
[[Файл:Screenshot 2021-04-20 at 16.34.44.png|обрамить|слева]]
 
[[Файл:Screenshot 2021-04-20 at 16.34.44.png|обрамить|слева]]
 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 +
Для этого соответственно настроить фильтр, где "value" - это id элементов "Виды контрагентов", "attribute" - это id фильтруемого атрибута "Вид контрагента" спр."Контрагенты" (который мы фильтруем) и "conditionType": "AttributeInCollection" - чтобы атрибут проверялся на наличие элемента из коллекции прописанных в "value"
 +
 +
<syntaxhighlight lang="JSON" line>
 +
"filter": {
 +
        "value": [
 +
          1,
 +
          2,
 +
          3
 +
        ],
 +
        "attribute": {
 +
          "id": 21,
 +
          "discriminator": "OwnAttributeDefinitionDto"
 +
        },
 +
        "conditionType": "AttributeInCollection",
 +
        "inversion": false,
 +
        "conditionId": null,
 +
        "discriminator": "ValueConditionalDictionaryCardsFilter"
 +
      },
 +
</syntaxhighlight>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
Строка 54: Строка 73:
 
{
 
{
 
   "id": 10826,
 
   "id": 10826,
   "name": "Пример фильтра по значениям (ValueConditionalDictionaryFilter)",
+
   "name": "Пример фильтра по значениям (ValueConditionalDictionaryCardsFilter)",
 
   "description": null,
 
   "description": null,
 
   "title": "Пример фильтрации по конкретному значению",
 
   "title": "Пример фильтрации по конкретному значению",
Строка 98: Строка 117:
 
         "inversion": false,
 
         "inversion": false,
 
         "conditionId": null,
 
         "conditionId": null,
         "discriminator": "ValueConditionalDictionaryFilter"
+
         "discriminator": "ValueConditionalDictionaryCardsFilter"
 
       },
 
       },
 
       "sortingOptions": null,
 
       "sortingOptions": null,

Текущая версия на 03:25, 21 апреля 2022

Фильтр выберет из справочника элементы, у которых значение указанного атрибута совпадают с заданным значением в фильтре.

 1  "filter": {
 2         "value": [
 3           1,
 4           2,
 5           3
 6         ],
 7         "attribute": {
 8           "id": 21,
 9           "discriminator": "OwnAttributeDefinitionDto"
10         },
11         "conditionType": "AttributeInCollection",
12         "inversion": false,
13         "conditionExpressionId": null,
14         "discriminator": "ValueConditionalDictionaryCardsFilter"
15       },

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

Свойство Описание
inversion В значении "false" источник-справочник принимает значения, которые удовлетворяют фильтру, в значении "true" - все значения, которые наоборот не удовлетворяют ему
discriminator ValueConditionalDictionaryCardsFilter
attribute Атрибут текущего источника, с которым будет сравниваться заданное значение. Указывается номер Id и тип атрибута в данном случае собственный (OwnAttributeDefinitionDto), так как используются данные текущего справочника.
conditionType Тип условий
value значение с которым будет сравниваться значение атрибута фильтруемого справочника. Форматы данных должны совпадать.
conditionExpressionId Выражение с условием, при которых применяется фильтр (выражение должно возвращать true или false)

Пример:

В данном примере справочник "Контрагенты" отфильтрован по значению атрибута "Вид".

Screenshot 2021-04-20 at 16.29.17.png


















Атрибут "Вид" связный, в нем хранятся идентификаторы справочника "Виды контрагентов". Фильтр выбирает элементы со значениями 1,2 и 3.

Screenshot 2021-04-20 at 16.32.29.png



























В справочнике "Виды контрагентов" этим значениям соответствуют Индивидуальный предприниматель (физ. лицо), Индивидуальный предприниматель (юр. лицо) и Публичное акционерное общество.

Screenshot 2021-04-20 at 16.34.44.png

















Для этого соответственно настроить фильтр, где "value" - это id элементов "Виды контрагентов", "attribute" - это id фильтруемого атрибута "Вид контрагента" спр."Контрагенты" (который мы фильтруем) и "conditionType": "AttributeInCollection" - чтобы атрибут проверялся на наличие элемента из коллекции прописанных в "value"

 1  "filter": {
 2         "value": [
 3           1,
 4           2,
 5           3
 6         ],
 7         "attribute": {
 8           "id": 21,
 9           "discriminator": "OwnAttributeDefinitionDto"
10         },
11         "conditionType": "AttributeInCollection",
12         "inversion": false,
13         "conditionId": null,
14         "discriminator": "ValueConditionalDictionaryCardsFilter"
15       },
JSON серверной карточки