Платформа 3V/Формы/Источники данных/Отчет/Параметры/На справочнике - объекте репозитория (EntryExpressionByDictionaryRequestDto)

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

Параметр, который возращает коллекцию атрибутов элементов справочника - объекта репозитория, который может не являться источником серверной карточки. Позволяет использовать справочники только в момент обращения к нему (по действиям на кнопку или вычислению выражений), а не постоянно загружать и обновлять, как при использовании в качестве источника карточки. Параметр имеет следующую структуру:

 1 {
 2 	"id": 1,
 3 	"allowMultipleValues": false,
 4 	"discriminator": "EntryExpressionByDictionaryRequestDto",
 5 	"dictionaryId": 536,
 6 	"attributeId": 1,
 7 	"filter": {
 8 		...
 9 	}
10 }

Описание свойств параметра

Свойство Описание
id Идентификатор параметра
allowMultipleValues Флаг об получении результата в виде коллекции значений (true/false)
discriminator EntryExpressionByDictionaryRequestDto
dictionaryId Идентификатор справочника - объекта репозитория
attributeId Идентификатор атрибута используемого справочника
filter Фильтры, которые буду применяться для выборки из справочника

Пример использования в качестве параметра отчета

При необходимости передать в качестве параметра отчета элементы справочника - объекта репозитория без добавления источника, используется соответствующий параметр EntryExpressionByDictionaryRequestDto

Кейс: Отчет отображает реестр компаний с типом "Публичное акционерное общество", перечень компаний приходит в параметр отчета (id=1) на основании справочника "Компании" без возможности менять перечень пользователем. Также должна учитываться фильтрация элементов по атр."Тип контрагента" (id=21) = "Публичное акционерное общество" (id=3).

JSON серверной карточки
 1 {
 2 	"id": 123,
 3 	"title": "Использование в отчете параметра EntryExpressionByDictionaryRequestDto",
 4 	"description": "",
 5 	"uiSources": [
 6 		{
 7 			"pivotSourceId": 101,
 8 			"doActionOnChangeFocusedCell": false,
 9 			"doActionOnChangeCellValue": false,
10 			"id": 1,
11 			"caption": null,
12 			"enable": false,
13 			"visible": true,
14 			"hint": null,
15 			"caption": "Реестр ПАО",
16 			"uiDataSource": null,
17 			"doActionOnChangeValue": false,
18 			"onAfterChangeValueConditionalActions": null,
19 			"onAfterChangeValueByClientConditionalActions": null,
20 			"rebuildDependentsObjectOnChange": true,
21 			"enableRuleIds": [],
22 			"visibleRuleIds": [],
23 			"access": null,
24 			"isValueChanged": false,
25 			"expressionId": null,
26 			"discriminator": "PivotSourceEntry"
27 		}
28 	],
29 	"entryDataSources": [
30 		{
31 			"pivotId": 31000,
32 			"parameters": [
33 				{
34 					"id": 1,
35 					"allowMultipleValues": true,
36 					"discriminator": "EntryExpressionByDictionaryRequestDto",
37 					"dictionaryId": 536,
38 					"attributeId": 1,
39 					"filter": {
40 						"value": [
41 							3
42 						],
43 						"attributeId": 21,
44 						"conditionType": "AttributeInCollection",
45 						"inversion": false,
46 						"conditionId": null,
47 						"discriminator": "ValueConditionalDictionaryFilterDto"
48 					}
49 				}
50 			],
51 			"focusOnFirstCell": true,
52 			"id": 101,
53 			"name": "Реестр ПАО",
54 			"isReadOnly": true,
55 			"dataEditRuleIds": [],
56 			"beforeSaveDataActions": [],
57 			"afterSaveDataActions": [],
58 			"discriminator": "PivotDataSource"
59 		}
60 	],
61 	"parameters": [],
62 	"binaryConditionsRules": [],
63 	"expressions": [],
64 	"actions": [],
65 	"conditionalActions": [],
66 	"conditionActionIdsOnOpen": []
67 }