Платформа 3V/Формы/Выражения/Параметры/На значении выражения (EntryExpressionByExpressionDto)

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

Параметр, который возращает значение другого выражения, добавленного ранее в серверную карточку, имеет следующую структуру:

1 {
2 	"id": 1,
3 	"allowMultipleValues": false,
4 	"discriminator": "EntryExpressionByExpressionDto",
5 	"expressionId": 1000
6 }

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

Свойство Описание
id Идентификатор параметра
allowMultipleValues Флаг об получении результата в виде коллекции значений (true/false)
discriminator EntryExpressionByExpressionDto
expressionId Идентификатор выражения

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

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

Кейс: Собрать строковый элемент управления, в котором будет отображаться "Договоры:" + "Наименования договоров"

"Наименования договоров" собрать из наименований договоров, которые выбраны пользователем в соответствующем элементе управления на справочнике "Договоры" (использовать для этого отдельное выражение на расчет строки с перечнем наименований договоров с помощью выражения на источнике карточки - справочнике (EntryExpressionDictionarySourceParameterDto))

И в отдельном выражении добавить перечню договоров фразу "Договоры:"

JSON серверной карточки
  1 {
  2 	"id": 123,
  3 	"name": "Использование в выражении параметра EntryExpressionByExpressionDto",
  4 	"description": null,
  5 	"title": null,
  6 	"entrySettings": null,
  7 	"uiSources": [
  8 		{
  9 			"dataSourceId": 100,
 10 			"nameTemplate": "",
 11 			"displayAttribute": null,
 12 			"hasMultipleValue": true,
 13 			"hasNullableValue": false,
 14 			"maxElements": null,
 15 			"hasServerFiltration": false,
 16 			"searchSettings": {
 17 				"maxElements": null,
 18 				"minInputChars": 2,
 19 				"searchMode": "Client",
 20 				"debounceMs": 300
 21 			},
 22 			"id": 1,
 23 			"caption": "Выпадающий список договоров",
 24 			"enable": true,
 25 			"visible": true,
 26 			"hint": null,
 27 			"doActionOnChangeValue": true,
 28 			"onAfterChangeValueConditionalActions": null,
 29 			"onAfterChangeValueByClientConditionalActions": null,
 30 			"rebuildDependentsObjectOnChange": true,
 31 			"enableRuleIds": [],
 32 			"visibleRuleIds": [],
 33 			"access": null,
 34 			"isValueChanged": false,
 35 			"expressionId": null,
 36 			"discriminator": "DictionarySourceEntry"
 37 		},
 38 		{
 39 			"trimSpaces": false,
 40 			"defaultValue": null,
 41 			"value": null,
 42 			"id": 2,
 43 			"caption": "Договоры: 'Наименования договоров' (строка)",
 44 			"enable": true,
 45 			"visible": true,
 46 			"hint": null,
 47 			"doActionOnChangeValue": false,
 48 			"onAfterChangeValueConditionalActions": null,
 49 			"onAfterChangeValueByClientConditionalActions": null,
 50 			"rebuildDependentsObjectOnChange": true,
 51 			"enableRuleIds": [],
 52 			"visibleRuleIds": [],
 53 			"access": null,
 54 			"isValueChanged": false,
 55 			"expressionId": 1001,
 56 			"discriminator": "StringSourceEntry"
 57 		}
 58 	],
 59 	"entryDataSources": [
 60 		{
 61 			"dictionaryId": 38238,
 62 			"hierarchyId": null,
 63 			"filter": null,
 64 			"sortingOptions": null,
 65 			"groupingOptions": null,
 66 			"dictionaryAttributes": null,
 67 			"defaultValueExpressionId": null,
 68 			"parameterId": null,
 69 			"dictionarySourceSelectionMode": "None",
 70 			"dataSourceAttributesAdditionsSettings": [],
 71 			"externalFileStorageUrl": null,
 72 			"filePrefix": null,
 73 			"defaultNewElementSettings": null,
 74 			"id": 100,
 75 			"name": "Договоры",
 76 			"isReadOnly": true,
 77 			"dataEditRuleIds": [],
 78 			"beforeSaveDataActions": [],
 79 			"afterSaveDataActions": [],
 80 			"discriminator": "DictionaryDataSource"
 81 		}
 82 	],
 83 	"parameters": [],
 84 	"binaryConditionsRules": [],
 85 	"submitValidateRules": [],
 86 	"expressions": [
 87 		{
 88 			"id": 1000,
 89 			"expression": "Concatenate(', ', [1])",
 90 			"returnFirstParameterValue": false,
 91 			"parameters": [
 92 				{
 93 					"id": 1,
 94 					"allowMultipleValues": true,
 95 					"discriminator": "EntryExpressionDictionarySourceParameterDto",
 96 					"dictionarySourceId": 100,
 97 					"attributeId": 2,
 98 					"getFirstElementValue": false,
 99 					"useAllInstanceElements": false
100 				}
101 			],
102 			"comment": "Получение строки с перечнем наименований выбранных пользователем договоров"
103 		},
104 		{
105 			"id": 1001,
106 			"expression": "'Договоры: '+ [1]",
107 			"returnFirstParameterValue": false,
108 			"parameters": [
109 				{
110 					"id": 1,
111 					"allowMultipleValues": false,
112 					"discriminator": "EntryExpressionByExpressionDto",
113 					"expressionId": 1000
114 				}
115 			],
116 			"comment": "Добавление к перечню наименований 'Договоры:'"
117 		}
118 	],
119 	"controlsValueCalculateRules": [],
120 	"actions": [],
121 	"conditionActionIdsOnOpen": [],
122 	"conditionalActions": [],
123 	"selectionSets": [],
124 	"reportTemplates": [],
125 	"useNewDependenciesBuilder": null
126 }