Фильтр атрибута справочника по параметру отчета

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

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

 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), но без фильтрации элементов в боковике:

По параметру отчета.jpg
JSON отчета

Пример фильтрации справочника параметра от другого параметра

Кейс: справочник 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     }