Платформа 3V/Формы/Источники данных/Отчет/Параметры/На элементе управления (EntryExpressionUiSourceParameter): различия между версиями

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

Версия 10:13, 16 апреля 2021

Параметр, который возращает значение элемента управления серверной карточки (uiSource) имеет следующую структуру:

1 {
2     "uiSourceId": 123,
3     "id": 1,
4     "allowMultipleValues": false,
5     "discriminator": "EntryExpressionUiSourceParameterDto"
6 }

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

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

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

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

Кейс: Вычислить полное наименование контрагента. Добавить текст "Публичное акционерное общество" перед значением соответствующего элемента управления "Краткое наименование"

JSON серверной карточки
  1 {
  2 	"id": 123,
  3 	"title": "Использование в выражении параметра EntryExpressionUiSourceParameterDto",
  4 	"description": "",
  5 	"uiSources": [
  6 		{
  7 			"trimSpaces": false,
  8 			"defaultValue": null,
  9 			"value": null,
 10 			"id": 1,
 11 			"caption": "Краткое наименование",
 12 			"enable": true,
 13 			"visible": true,
 14 			"hint": null,
 15 			"uiDataSource": {
 16 				"attribute": {
 17 					"id": 23,
 18 					"discriminator": "OwnAttributeDefinitionDto"
 19 				},
 20 				"attributeId": null,
 21 				"sourceId": 100,
 22 				"discriminator": "UiDataSourceDictionary"
 23 			},
 24 			"doActionOnChangeValue": true,
 25 			"onAfterChangeValueConditionalActions": null,
 26 			"onAfterChangeValueByClientConditionalActions": null,
 27 			"rebuildDependentsObjectOnChange": true,
 28 			"enableRuleIds": [],
 29 			"visibleRuleIds": [],
 30 			"access": null,
 31 			"isValueChanged": false,
 32 			"expressionId": null,
 33 			"discriminator": "StringSourceEntry"
 34 		},
 35 		{
 36 			"trimSpaces": false,
 37 			"defaultValue": null,
 38 			"value": null,
 39 			"id": 2,
 40 			"caption": "Полное наименование",
 41 			"enable": true,
 42 			"visible": true,
 43 			"hint": null,
 44 			"uiDataSource": {
 45 				"attribute": {
 46 					"id": 2,
 47 					"discriminator": "OwnAttributeDefinitionDto"
 48 				},
 49 				"attributeId": null,
 50 				"sourceId": 100,
 51 				"discriminator": "UiDataSourceDictionary"
 52 			},
 53 			"doActionOnChangeValue": false,
 54 			"onAfterChangeValueConditionalActions": null,
 55 			"onAfterChangeValueByClientConditionalActions": null,
 56 			"rebuildDependentsObjectOnChange": true,
 57 			"enableRuleIds": [],
 58 			"visibleRuleIds": [],
 59 			"access": null,
 60 			"isValueChanged": false,
 61 			"expressionId": 1000,
 62 			"discriminator": "StringSourceEntry"
 63 		}
 64 	],
 65 	"entryDataSources": [
 66 		{
 67 			"dictionaryId": 100,
 68 			"filter": {
 69 				"parameterId": 1,
 70 				"attributeId": 1,
 71 				"conditionType": "AttributeInCollection",
 72 				"inversion": false,
 73 				"conditionId": null,
 74 				"discriminator": "EntryParameterFilterDto"
 75 			},
 76 			"groupingOptions": null,
 77 			"dictionaryAttributes": null,
 78 			"defaultValue": [],
 79 			"defaultValueExpressionId": null,
 80 			"parameterId": null,
 81 			"dictionarySourceSelectionMode": "None",
 82 			"dataSourceAttributesAdditionsSettings": [],
 83 			"id": 100,
 84 			"name": "Контрагенты",
 85 			"isReadOnly": false,
 86 			"dataEditRuleIds": [],
 87 			"beforeSaveDataActions": [],
 88 			"afterSaveDataActions": [],
 89 			"discriminator": "DictionaryDataSource"
 90 		}
 91 	],
 92 	"parameters": [
 93 		{
 94 			"defaultValue": [],
 95 			"id": 1,
 96 			"name": "Контрагент"
 97 		}
 98 	],
 99 	"binaryConditionsRules": [],
100 	"expressions": [
101 		{
102 			"id": 1000,
103 			"expression": "'Публичное акционерное общество '+[1]",
104 			"returnFirstParameterValue": false,
105 			"parameters": [
106 				{
107 					"uiSourceId": 1,
108 					"id": 1,
109 					"allowMultipleValues": false,
110 					"discriminator": "EntryExpressionUiSourceParameterDto"
111 				}
112 			],
113 			"comment": null
114 		}
115 	],
116 	"actions": [],
117 	"conditionalActions": [],
118 	"conditionActionIdsOnOpen": []
119 }

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

При необходимости передать в качестве параметра отчета значение элемента управления из блока uiSources используется соответствующий параметр EntryExpressionUiSourceParameterDto

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