Платформа 3V/Формы/Источники данных/Справочник/Фильтрация/По фиксированным значениям: различия между версиями
(не показано 16 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | Фильтр выберет из справочника элементы, у которых значение указанного атрибута совпадают с заданным значением в фильтре. | |
− | |||
− | Фильтр выберет из справочника элементы, | ||
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
"filter": { | "filter": { | ||
+ | "value": [ | ||
+ | 1, | ||
+ | 2, | ||
+ | 3 | ||
+ | ], | ||
+ | "attribute": { | ||
+ | "id": 21, | ||
+ | "discriminator": "OwnAttributeDefinitionDto" | ||
+ | }, | ||
+ | "conditionType": "AttributeInCollection", | ||
+ | "inversion": false, | ||
+ | "conditionExpressionId": null, | ||
+ | "discriminator": "ValueConditionalDictionaryCardsFilter" | ||
+ | }, | ||
+ | </syntaxhighlight> | ||
+ | == Описание свойств фильтра == | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Свойство !! Описание | ||
+ | |- | ||
+ | | inversion || В значении "false" источник-справочник принимает значения, которые удовлетворяют фильтру, в значении "true" - все значения, которые наоборот не удовлетворяют ему | ||
+ | |- | ||
+ | | discriminator|| ValueConditionalDictionaryCardsFilter | ||
+ | |- | ||
+ | | attribute|| [[Платформа_3V/Справочник/Связи_атрибутов_справочников|''' Атрибут''']] текущего источника, с которым будет сравниваться заданное значение. Указывается номер Id и тип атрибута в данном случае собственный (OwnAttributeDefinitionDto), так как используются данные текущего справочника. | ||
+ | |- | ||
+ | | conditionType || Тип условий | ||
+ | |- | ||
+ | | value || значение с которым будет сравниваться значение атрибута фильтруемого справочника. Форматы данных должны совпадать. | ||
+ | |- | ||
+ | | [[ Платформа_3V/Формы/Выражения|'''conditionExpressionId''']]|| Выражение с условием, при которых применяется фильтр (выражение должно возвращать true или false) | ||
+ | |} | ||
+ | |||
+ | == Пример: == | ||
+ | В данном примере справочник "Контрагенты" отфильтрован по значению атрибута "Вид". | ||
+ | [[Файл:Screenshot 2021-04-20 at 16.29.17.png|обрамить|слева]] | ||
+ | <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> | ||
+ | |||
+ | Атрибут "Вид" связный, в нем хранятся идентификаторы справочника "Виды контрагентов". Фильтр выбирает элементы со значениями 1,2 и 3. | ||
+ | [[Файл:Screenshot 2021-04-20 at 16.32.29.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> | ||
+ | |||
+ | В справочнике "Виды контрагентов" этим значениям соответствуют Индивидуальный предприниматель (физ. лицо), Индивидуальный предприниматель (юр. лицо) и Публичное акционерное общество. | ||
+ | [[Файл: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> | ||
+ | Для этого соответственно настроить фильтр, где "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 style="font-weight:bold;line-height:1.6;">JSON серверной карточки</div> | ||
+ | <div class="mw-collapsible-content mw-collapsed-content"> | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | "id": 10826, | ||
+ | "name": "Пример фильтра по значениям (ValueConditionalDictionaryCardsFilter)", | ||
+ | "description": null, | ||
+ | "title": "Пример фильтрации по конкретному значению", | ||
+ | "entrySettings": null, | ||
+ | "uiSources": [ | ||
+ | { | ||
+ | "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": { | ||
"value": [ | "value": [ | ||
1, | 1, | ||
Строка 16: | Строка 117: | ||
"inversion": false, | "inversion": false, | ||
"conditionId": null, | "conditionId": null, | ||
− | "discriminator": " | + | "discriminator": "ValueConditionalDictionaryCardsFilter" |
}, | }, | ||
+ | "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> | </syntaxhighlight> | ||
+ | </div></div> |
Текущая версия на 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) |
Пример:
В данном примере справочник "Контрагенты" отфильтрован по значению атрибута "Вид".
Атрибут "Вид" связный, в нем хранятся идентификаторы справочника "Виды контрагентов". Фильтр выбирает элементы со значениями 1,2 и 3.
В справочнике "Виды контрагентов" этим значениям соответствуют Индивидуальный предприниматель (физ. лицо), Индивидуальный предприниматель (юр. лицо) и Публичное акционерное общество.
Для этого соответственно настроить фильтр, где "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 },
1 {
2 "id": 10826,
3 "name": "Пример фильтра по значениям (ValueConditionalDictionaryCardsFilter)",
4 "description": null,
5 "title": "Пример фильтрации по конкретному значению",
6 "entrySettings": null,
7 "uiSources": [
8 {
9 "trimSpaces": false,
10 "defaultValue": null,
11 "value": null,
12 "id": 2,
13 "caption": "Контрагент",
14 "enable": true,
15 "visible": true,
16 "hint": null,
17 "doActionOnChangeValue": false,
18 "onAfterChangeValueConditionalActions": null,
19 "onAfterChangeValueByClientConditionalActions": null,
20 "rebuildDependentsObjectOnChange": true,
21 "enableRuleIds": [],
22 "visibleRuleIds": [],
23 "access": null,
24 "isValueChanged": false,
25 "dataSourceId": 3,
26 "discriminator": "DictionarySourceEntry",
27 "hasMultipleValue": true
28 }
29 ],
30 "entryDataSources": [
31 {
32 "dictionaryId": 10755,
33 "hierarchyId": null,
34 "filter": {
35 "value": [
36 1,
37 2,
38 3
39 ],
40 "attribute": {
41 "id": 21,
42 "discriminator": "OwnAttributeDefinitionDto"
43 },
44 "conditionType": "AttributeInCollection",
45 "inversion": false,
46 "conditionId": null,
47 "discriminator": "ValueConditionalDictionaryCardsFilter"
48 },
49 "sortingOptions": null,
50 "groupingOptions": null,
51 "dictionaryAttributes": [],
52 "defaultValue": [],
53 "defaultValueExpressionId": null,
54 "parameterId": null,
55 "dictionarySourceSelectionMode": "SelectAll",
56 "dataSourceAttributesAdditionsSettings": [],
57 "externalFileStorageUrl": null,
58 "filePrefix": null,
59 "defaultNewElementSettings": null,
60 "id": 3,
61 "name": "Контрагенты",
62 "isReadOnly": false,
63 "dataEditRuleIds": [],
64 "beforeSaveDataActions": [],
65 "afterSaveDataActions": [],
66 "discriminator": "DictionaryDataSource"
67 }
68 ],
69 "parameters": [],
70 "binaryConditionsRules": [],
71 "submitValidateRules": [],
72 "expressions": [],
73 "controlsValueCalculateRules": [],
74 "actions": [],
75 "conditionActionIdsOnOpen": [],
76 "conditionalActions": [],
77 "selectionSets": [],
78 "reportTemplates": [],
79 "useNewDependenciesBuilder": null
80 }