Платформа 3V/Отчет/6. Дополнительные действия в отчете/Фильтр выпадающих списков/Фильтр атрибута справочника/Составной фильтр: различия между версиями
< Платформа 3V | Отчет | 6. Дополнительные действия в отчете | Фильтр выпадающих списков | Фильтр атрибута справочника
Перейти к навигации
Перейти к поиску
Версия 10:10, 1 июля 2021
Фильтр, который в выпадающем списке выберет из справочника элементы, которые удовлетворяют условиям сразу нескольких фильтров. В нем обязательно указывается тип объединения фильтров - выбрать только те элементы, которые удовлетворяют всем вложенным фильтрам одновременно (And), либо выбрать элементы, которые удовлетворяют хотя бы одному вложенному фильтру (Or).
1 "filter": {
2 "type": "Or",
3 "filters": [
4 {...},
5 {...}
6 ],
7 "inversion": false,
8 "discriminator": "CompoundDictionaryFilterDto"
9 },
Описание свойств фильтра
Свойство | Описание |
---|---|
type | Тип And - выбор элементов, удовлетворяющих одновременно всем описанным фильтрам. Тип Or - выбор элементов, которые удовлетворяют хотя бы одному из описанных фильтров. |
filters | Перечень фильтров, по которым должна происходить выборка элементов |
inversion | В значении "false" справочник принимает значения, которые удовлетворяют фильтру, в значении "true" - все значения, которые наоборот не удовлетворяют ему |
discriminator | CompoundDictionaryFilterDto |
Пример использования
Кейс: В выпадающем списке отчета "Виды древесины" должны быть представлены элементы, которые выбраны в параметре "Виды древесины" отчета (id параметра = 1) и всегда должен быть отмечен элемент "Береза" (id=4), но при этом список элементов в боковике должен оставаться без фильтрации. Также из самого параметра отчета элемент "Береза" был убран
JSON отчета
1 {
2 "workflowId": null,
3 "leftHeader": {
4 "useLazyDataLoadingStrategy": false,
5 "dictionaries": [
6 {
7 "showDataIfAbsentFilter": null,
8 "coordAttribute": null,
9 "cartesianOptions": "Default",
10 "canSelectAttribute": null,
11 "groupingOptions": null,
12 "groupingMethod": "Default",
13 "sortingOptions": null,
14 "rootElement": null,
15 "virtualElements": null,
16 "displayValueOptions": null,
17 "displayAttribute": null,
18 "dictionaryId": 135,
19 "filter": null,
20 "selection": null,
21 "hierarchyId": null,
22 "limit": null
23 }
24 ],
25 "dictionaryAttributesLinks": [],
26 "specialFilters": {
27 "filtersByDataOptions": {
28 "filtersByData": [],
29 "needRestoreFullHierachy": false,
30 "joinOption": "Or",
31 "restoreElements": null
32 },
33 "dictionaryAttributesLinks": [],
34 "needRestoreFullHierachy": false,
35 "restoreElements": null
36 },
37 "isEditable": false
38 },
39 "topHeader": {
40 "topHeaderItems": [
41 {
42 "dictionaryAttributes": [
43 {
44 "dictionaryId": 135,
45 "attribute": {
46 "id": 2,
47 "discriminator": "OwnAttributeDefinitionDto"
48 },
49 "filter": null,
50 "sortingOptions": null,
51 "attributeId": null,
52 "displayAttributeType": "AttributeName",
53 "displayAttributeName": null,
54 "addFirstElementValue": false,
55 "overwriteNotFirstElementValues": true,
56 "delimiter": ", ",
57 "hideAttributeNameInHeader": false,
58 "headerNameDelimiter": " / ",
59 "duplicateValuesForNextDictionaries": true,
60 "duplicateValuesForNextRows": true,
61 "displayValueOptions": null,
62 "linkedAttributeSettings": null,
63 "skippedFilterAttributesByLink": [],
64 "filterOptionsByLinks": null
65 }
66 ],
67 "settings": null,
68 "hyperlinkOptions": null,
69 "hasImage": false,
70 "columnOptions": null,
71 "discriminator": "AttributeHeaderItemDto"
72 },
73 {
74 "dictionaryAttributes": [
75 {
76 "dictionaryId": 135,
77 "attribute": {
78 "id": 21,
79 "discriminator": "OwnAttributeDefinitionDto"
80 },
81 "filter": {
82 "type": "Or",
83 "filters": [
84 {
85 "value": [
86 4
87 ],
88 "skipIfValueNull": false,
89 "attributeId": null,
90 "attribute": {
91 "id": 1,
92 "discriminator": "OwnAttributeDefinitionDto"
93 },
94 "conditionType": "AttributeEqualConstant",
95 "inversion": false,
96 "discriminator": "ValueConditionalDictionaryFilterDto"
97 },
98 {
99 "parameterFilterOptions": {
100 "attribute": {
101 "id": 1,
102 "discriminator": "OwnAttributeDefinitionDto"
103 }
104 },
105 "value": {
106 "id": 1,
107 "name": null
108 },
109 "skipIfValueNull": false,
110 "attributeId": null,
111 "attribute": {
112 "id": 1,
113 "discriminator": "OwnAttributeDefinitionDto"
114 },
115 "conditionType": "AttributeInCollection",
116 "inversion": false,
117 "discriminator": "ParameterConditionalDictionaryFilterDto"
118 }
119 ],
120 "inversion": false,
121 "discriminator": "CompoundDictionaryFilterDto"
122 },
123 "sortingOptions": null,
124 "attributeId": null,
125 "displayAttributeType": "AttributeName",
126 "displayAttributeName": null,
127 "addFirstElementValue": false,
128 "overwriteNotFirstElementValues": true,
129 "delimiter": ", ",
130 "hideAttributeNameInHeader": false,
131 "headerNameDelimiter": " / ",
132 "duplicateValuesForNextDictionaries": true,
133 "duplicateValuesForNextRows": true,
134 "displayValueOptions": null,
135 "linkedAttributeSettings": null,
136 "skippedFilterAttributesByLink": [],
137 "filterOptionsByLinks": null
138 }
139 ],
140 "settings": null,
141 "hyperlinkOptions": null,
142 "hasImage": false,
143 "columnOptions": {
144 "width": null,
145 "format": null,
146 "dataControlOptions": {
147 "format": null,
148 "mask": null,
149 "min": null,
150 "max": null,
151 "component": null,
152 "searchSettings": null
153 },
154 "isReadOnly": null,
155 "displayDuplicatedValues": null,
156 "duplicateValueOptions": "Undefined",
157 "allowChangeColumnValue": null,
158 "singleValueColumn": null,
159 "hyperlinkOptions": null,
160 "imageType": "None",
161 "absentDictionariesOptions": null
162 },
163 "discriminator": "AttributeHeaderItemDto"
164 }
165 ],
166 "needFilterAttributesByLinks": false,
167 "enableFilterByLinks": false,
168 "numerationSettings": null,
169 "filterOptions": null
170 },
171 "parameters": [
172 {
173 "dictionaryId": 0,
174 "sortingOptions": null,
175 "displayValueOptions": null,
176 "options": {
177 "groupingOptions": null,
178 "groupingMethod": "Default",
179 "sortingOptions": null,
180 "rootElement": null,
181 "virtualElements": null,
182 "displayValueOptions": null,
183 "displayAttribute": null,
184 "dictionaryId": 132,
185 "filter": {
186 "value": [
187 4
188 ],
189 "skipIfValueNull": false,
190 "attributeId": null,
191 "attribute": {
192 "id": 1,
193 "discriminator": "OwnAttributeDefinitionDto"
194 },
195 "conditionType": "AttributeEqualConstant",
196 "inversion": true,
197 "discriminator": "ValueConditionalDictionaryFilterDto"
198 },
199 "selection": null,
200 "hierarchyId": null,
201 "limit": null
202 },
203 "attributeValues": null,
204 "selectionFilter": null,
205 "defaultValue": [
206 1,
207 2,
208 3
209 ],
210 "value": [
211 1,
212 2,
213 3
214 ],
215 "isMultiselect": true,
216 "isEmptyValuePossible": false,
217 "isDisableable": false,
218 "isDisabled": false,
219 "dataControlOptions": null,
220 "id": 1,
221 "name": "Виды древесины",
222 "discriminator": "DictionaryParameterDto"
223 }
224 ],
225 "styles": [],
226 "styleOptions": [],
227 "stylesTemplate": [],
228 "filtersByDataOptions": null,
229 "view": null,
230 "externalExecutions": null,
231 "settings": null,
232 "code": "P_COMPOUND_FILERS",
233 "id": 151,
234 "name": "От нескольких фильтров"
235 }