Платформа 3V/Формы/Выражения/Параметры/На справочнике - объекте репозитория (EntryExpressionByDictionaryRequest)

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

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

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

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

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

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

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

Кейс: Собрать строковый элемент управления "Наименования договоров (строка)" из наименований договоров c типом "Договор купли-продажи" (фильтр по атрибуту "Тип договора"(id=21) = 3), которые есть в справочнике "Договоры" (id=536) без добавления источника в карточку

JSON серверной карточки
 1 {
 2 	"id": 123,
 3 	"name": "Использование в выражении параметра EntryExpressionByDictionaryRequest",
 4 	"description": null,
 5 	"title": null,
 6 	"entrySettings": null,
 7 	"uiSources": [],
 8 	"entryDataSources": [],
 9 	"parameters": [],
10 	"binaryConditionsRules": [],
11 	"submitValidateRules": [],
12 	"expressions": [
13 		{
14 			"id": 1002,
15 			"expression": "Concatenate(', ', [1])",
16 			"returnFirstParameterValue": false,
17 			"parameters": [
18 				{
19 					"id": 1,
20 					"allowMultipleValues": true,
21 					"discriminator": "EntryExpressionByDictionaryRequest",
22 					"dictionaryId": 536,
23 					"attributeId": 2,
24 					"filter": {
25 						"value": [
26 							3  
27 						],
28 						"attributeId": 21,
29 						"attribute": null,
30 						"conditionType": "AttributeInCollection",
31 						"inversion": false,
32 						"conditionId": null,
33 						"discriminator": "ValueConditionalDictionaryFilterDto"
34 					}
35 				}
36 			]
37 		}
38 	],
39 	"controlsValueCalculateRules": [],
40 	"actions": [],
41 	"conditionActionIdsOnOpen": [],
42 	"conditionalActions": [],
43 	"selectionSets": [],
44 	"reportTemplates": [],
45 	"useNewDependenciesBuilder": null
46 }