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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 36: Строка 36:
  
 
== Пример: ==
 
== Пример: ==
 +
В поле "Наименование" введен искомый текст, в поле "Контрагенты" отфильтрованы элементы списка, содержащие данный текст.
 +
 +
[[Файл:Screenshot 2021-04-20 at 16.02.38.png|обрамить|слева]]
 +
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON серверной карточки</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
 +
{
 +
  "id": 10928,
 +
  "name": "Пример фильтра по значению в контроле (EntryUiFilterDto)",
 +
  "description": null,
 +
  "title": "Пример фильтра по значению в контроле",
 +
  "entrySettings": null,
 +
  "uiSources": [
 +
    {
 +
      "id": 1,
 +
      "caption": "Наименование",
 +
      "enable": true,
 +
      "visible": true,
 +
      "hint": null,
 +
      "doActionOnChangeValue": true,
 +
      "onAfterChangeValueConditionalActions": null,
 +
      "onAfterChangeValueByClientConditionalActions": null,
 +
      "rebuildDependentsObjectOnChange": true,
 +
      "enableRuleIds": [],
 +
      "visibleRuleIds": [],
 +
      "access": null,
 +
      "isValueChanged": true,
 +
      "expressionId": null,
 +
      "discriminator": "StringSourceEntry"
 +
    },
 +
    {
 +
      "trimSpaces": false,
 +
      "defaultValue": null,
 +
      "value": null,
 +
      "id": 2,
 +
      "caption": "Контрагент",
 +
      "enable": true,
 +
      "visible": true,
 +
      "hint": null,
 +
      "doActionOnChangeValue": false,
 +
      "onAfterChangeValueConditionalActions": null,
 +
      "onAfterChangeValueByClientConditionalActions": null,
 +
      "rebuildDependentsObjectOnChange": true,
 +
      "enableRuleIds": [],
 +
      "visibleRuleIds": [],
 +
      "access": null,
 +
      "isValueChanged": false,
 +
      "dataSourceId": 3,
 +
      "discriminator": "DictionarySourceEntry",
 +
      "hasMultipleValue": true
 +
    }
 +
  ],
 +
  "entryDataSources": [
 +
    {
 +
      "dictionaryId": 10755,
 +
      "hierarchyId": null,
 +
      "filter": {
 +
        "uiSourceId": 1,
 +
        "attribute": {
 +
          "id": 2,
 +
          "discriminator": "OwnAttributeDefinitionDto"
 +
        },
 +
        "conditionType": "ContainsString",
 +
        "inversion": false,
 +
        "conditionId": null,
 +
        "discriminator": "EntryUiFilterDto"
 +
      },
 +
      "sortingOptions": null,
 +
      "groupingOptions": null,
 +
      "dictionaryAttributes": [],
 +
      "defaultValue": [],
 +
      "defaultValueExpressionId": null,
 +
      "parameterId": null,
 +
      "dictionarySourceSelectionMode": "SelectAll",
 +
      "dataSourceAttributesAdditionsSettings": [],
 +
      "externalFileStorageUrl": null,
 +
      "filePrefix": null,
 +
      "defaultNewElementSettings": null,
 +
      "id": 3,
 +
      "name": "Контрагенты",
 +
      "isReadOnly": false,
 +
      "dataEditRuleIds": [],
 +
      "beforeSaveDataActions": [],
 +
      "afterSaveDataActions": [],
 +
      "discriminator": "DictionaryDataSource"
 +
    }
 +
  ],
 +
  "parameters": [],
 +
  "binaryConditionsRules": [],
 +
  "submitValidateRules": [],
 +
  "expressions": [],
 +
  "controlsValueCalculateRules": [],
 +
  "actions": [],
 +
  "conditionActionIdsOnOpen": [],
 +
  "conditionalActions": [],
 +
  "selectionSets": [],
 +
  "reportTemplates": [],
 +
  "useNewDependenciesBuilder": null
 +
}
 +
</syntaxhighlight>
 +
</div></div>

Версия 13:05, 20 апреля 2021

!!! СТРАНИЦА В СТАДИИ НАПОЛНЕНИЯ!!!

Фильтр EntryUiFilterDto позволяет фильтровать данные справочника по значению контрола.
Структура фильтра:

 1 "filter": {
 2         "uiSourceId": 1,
 3         "attribute": {
 4           "id": 2,
 5           "discriminator": "OwnAttributeDefinitionDto"
 6         },
 7         "conditionType": "ContainsString",
 8         "inversion": false,
 9         "conditionId": null,
10         "discriminator": "EntryUiFilterDto"
11       },

Тип данных в контроле должен совпадать с типом данных в атрибуте справочника по которому идет фильтрация.

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

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

Пример:

В поле "Наименование" введен искомый текст, в поле "Контрагенты" отфильтрованы элементы списка, содержащие данный текст.

Screenshot 2021-04-20 at 16.02.38.png
















JSON серверной карточки
 1 {
 2   "id": 10928,
 3   "name": "Пример фильтра по значению в контроле (EntryUiFilterDto)",
 4   "description": null,
 5   "title": "Пример фильтра по значению в контроле",
 6   "entrySettings": null,
 7   "uiSources": [
 8     {
 9       "id": 1,
10       "caption": "Наименование",
11       "enable": true,
12       "visible": true,
13       "hint": null,
14       "doActionOnChangeValue": true,
15       "onAfterChangeValueConditionalActions": null,
16       "onAfterChangeValueByClientConditionalActions": null,
17       "rebuildDependentsObjectOnChange": true,
18       "enableRuleIds": [],
19       "visibleRuleIds": [],
20       "access": null,
21       "isValueChanged": true,
22       "expressionId": null,
23       "discriminator": "StringSourceEntry"
24     },
25     {
26       "trimSpaces": false,
27       "defaultValue": null,
28       "value": null,
29       "id": 2,
30       "caption": "Контрагент",
31       "enable": true,
32       "visible": true,
33       "hint": null,
34       "doActionOnChangeValue": false,
35       "onAfterChangeValueConditionalActions": null,
36       "onAfterChangeValueByClientConditionalActions": null,
37       "rebuildDependentsObjectOnChange": true,
38       "enableRuleIds": [],
39       "visibleRuleIds": [],
40       "access": null,
41       "isValueChanged": false,
42       "dataSourceId": 3,
43       "discriminator": "DictionarySourceEntry",
44       "hasMultipleValue": true
45     }
46   ],
47   "entryDataSources": [
48     {
49       "dictionaryId": 10755,
50       "hierarchyId": null,
51       "filter": {
52         "uiSourceId": 1,
53         "attribute": {
54           "id": 2,
55           "discriminator": "OwnAttributeDefinitionDto"
56         },
57         "conditionType": "ContainsString",
58         "inversion": false,
59         "conditionId": null,
60         "discriminator": "EntryUiFilterDto"
61       },
62       "sortingOptions": null,
63       "groupingOptions": null,
64       "dictionaryAttributes": [],
65       "defaultValue": [],
66       "defaultValueExpressionId": null,
67       "parameterId": null,
68       "dictionarySourceSelectionMode": "SelectAll",
69       "dataSourceAttributesAdditionsSettings": [],
70       "externalFileStorageUrl": null,
71       "filePrefix": null,
72       "defaultNewElementSettings": null,
73       "id": 3,
74       "name": "Контрагенты",
75       "isReadOnly": false,
76       "dataEditRuleIds": [],
77       "beforeSaveDataActions": [],
78       "afterSaveDataActions": [],
79       "discriminator": "DictionaryDataSource"
80     }
81   ],
82   "parameters": [],
83   "binaryConditionsRules": [],
84   "submitValidateRules": [],
85   "expressions": [],
86   "controlsValueCalculateRules": [],
87   "actions": [],
88   "conditionActionIdsOnOpen": [],
89   "conditionalActions": [],
90   "selectionSets": [],
91   "reportTemplates": [],
92   "useNewDependenciesBuilder": null
93 }