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