Платформа 3V/Формы/Действия/Расчет элемента
< Платформа 3V | Формы | Действия
Перейти к навигации
Перейти к поиску
Версия от 09:49, 16 апреля 2021; A.kazanceva (обсуждение | вклад)
Параметр, который вычисляет и устанавливает значение для указанного элемента управления, имеет следующую структуру:
1 {
2 "id": 111,
3 "controlId": 111,
4 "expressionId": 111,
5 "discriminator": "CalculateControlValueAction"
6 }
Описание свойств параметра
Свойство | Описание |
---|---|
id | Идентификатор параметра |
controlId | Идентификатор элемента управления |
expressionId | Идентификатор выражения |
discriminator | CalculateControlValueAction |
Пример использования(вычисление периода)
Кейс: Вычислить длительность периода по датам начала и конца периода.
В отдельном выражении из конечной даты вычесть начальную и вывести ее в контрол.
JSON серверной карточки
1 {
2 "id": 373,
3 "title": "",
4 "description": "",
5 "uiSources": [
6 {
7 "submitRuleIds": [],
8 "actionConfirmation": {
9 "message": null,
10 "conditionId": null
11 },
12 "controlsValueCalculateRulesIds": [],
13 "conditionalActions": [
14 222
15 ],
16 "onBeforeClickConditionalActions": [],
17 "id": 206100,
18 "caption": "Кнопка",
19 "enable": true,
20 "visible": true,
21 "hint": null,
22 "uiDataSource": null,
23 "doActionOnChangeValue": false,
24 "onAfterChangeValueConditionalActions": null,
25 "onAfterChangeValueByClientConditionalActions": null,
26 "enableRuleIds": [],
27 "visibleRuleIds": [],
28 "access": {
29 "read": {
30 "roles": [],
31 "inversion": false,
32 "default": true
33 },
34 "edit": {
35 "roles": [],
36 "inversion": false,
37 "default": true
38 }
39 },
40 "isValueChanged": false,
41 "expressionId": null,
42 "discriminator": "CustomButtonEntry"
43 },
44 {
45 "id": 222,
46 "caption": "default",
47 "enable": true,
48 "visible": true,
49 "uiDataSource": null,
50 "discriminator": "StringSourceEntry",
51 "doActionOnChangeValue": false
52 },
53 {
54 "defaultValue": null,
55 "value": null,
56 "id": 21,
57 "caption": "Длительность",
58 "enable": true,
59 "visible": true,
60 "hint": null,
61 "doActionOnChangeValue": false,
62 "onAfterChangeValueConditionalActions": null,
63 "onAfterChangeValueByClientConditionalActions": null,
64 "visibleRuleIds": [],
65 "isValueChanged": false,
66 "expressionId": null,
67 "discriminator": "DateTimeSourceEntry"
68 },
69 {
70 "defaultValue": null,
71 "value": null,
72 "id": 22,
73 "caption": "Длительность",
74 "enable": true,
75 "visible": true,
76 "hint": null,
77 "doActionOnChangeValue": false,
78 "onAfterChangeValueConditionalActions": null,
79 "onAfterChangeValueByClientConditionalActions": null,
80 "visibleRuleIds": [],
81 "isValueChanged": false,
82 "expressionId": null,
83 "discriminator": "DateTimeSourceEntry"
84 }
85 ],
86 "entryDataSources": [
87 {
88 "dictionaryId": 368,
89 "groupingOptions": null,
90 "dictionaryAttributes": null,
91 "defaultValue": [],
92 "filter": null,
93 "defaultValueExpressionId": null,
94 "parameterId": null,
95 "dictionarySourceSelectionMode": "None",
96 "dataSourceAttributesAdditionsSettings": [],
97 "id": 368,
98 "name": "Data",
99 "isReadOnly": false,
100 "dataEditRuleIds": [],
101 "beforeSaveDataActions": [],
102 "afterSaveDataActions": [],
103 "discriminator": "DictionaryDataSource"
104 }
105 ],
106 "parameters": null,
107 "binaryConditionsRules": [],
108 "expressions": [
109 {
110 "id": 222,
111 "expression": "TrimTime([22])-TrimTime([21])",
112 "returnFirstParameterValue": false,
113 "parameters": [
114 {
115 "uiSourceId": 22,
116 "id": 22,
117 "discriminator": "EntryExpressionUiSourceParameterDto"
118 },
119 {
120 "uiSourceId": 21,
121 "id": 21,
122 "discriminator": "EntryExpressionUiSourceParameterDto"
123 }
124 ],
125 "comment": null
126 }
127 ],
128 "actions": [
129 {
130 "id": 222,
131 "controlId": 222,
132 "expressionId": 222,
133 "discriminator": "CalculateControlValueAction"
134 }
135 ],
136 "conditionalActions": [
137 {
138 "id": 222,
139 "binaryConditionRuleId": null,
140 "actions": [
141 222
142 ]
143 }
144 ],
145 "conditionActionIdsOnOpen": null
146 }
Пример использования(вывод строки)
Кейс: Вывод строки при нажатии на кнопку.
Строка добавляется в выражение и выводится с помощью CalculateControlValueAction.
JSON серверной карточки
1 {
2 "id": 370,
3 "title": "",
4 "description": "",
5 "uiSources": [
6 {
7 "submitRuleIds": [],
8 "actionConfirmation": {
9 "message": null,
10 "conditionId": null
11 },
12 "controlsValueCalculateRulesIds": [],
13 "conditionalActions": [
14 111
15 ],
16 "onBeforeClickConditionalActions": [],
17 "id": 206100,
18 "caption": "Кнопка",
19 "enable": true,
20 "visible": true,
21 "hint": null,
22 "uiDataSource": null,
23 "doActionOnChangeValue": false,
24 "onAfterChangeValueConditionalActions": null,
25 "onAfterChangeValueByClientConditionalActions": null,
26 "enableRuleIds": [],
27 "visibleRuleIds": [],
28 "access": {
29 "read": {
30 "roles": [],
31 "inversion": false,
32 "default": true
33 },
34 "edit": {
35 "roles": [],
36 "inversion": false,
37 "default": true
38 }
39 },
40 "isValueChanged": false,
41 "expressionId": null,
42 "discriminator": "CustomButtonEntry"
43 },
44 {
45 "id": 111,
46 "caption": "default",
47 "enable": true,
48 "visible": true,
49 "hint": null,
50 "doActionOnChangeValue": false,
51 "onAfterChangeValueConditionalActions": null,
52 "onAfterChangeValueByClientConditionalActions": null,
53 "enableRuleIds": [],
54 "visibleRuleIds": [],
55 "isValueChanged": false,
56 "expressionId": null,
57 "discriminator": "StringSourceEntry"
58 }
59 ],
60 "entryDataSources": [],
61 "parameters": null,
62 "binaryConditionsRules": [],
63 "expressions": [
64 {
65 "id": 111,
66 "expression": "[1]",
67 "returnFirstParameterValue": false,
68 "parameters": [
69 {
70 "id": 1,
71 "allowMultipleValues": false,
72 "discriminator": "EntryExpressionConstantParameterDto",
73 "value": "Строка"
74 }
75 ],
76 "comment": null
77 }
78 ],
79 "actions": [
80 {
81 "id": 111,
82 "controlId": 111,
83 "expressionId": 111,
84 "discriminator": "CalculateControlValueAction"
85 }
86 ],
87 "conditionalActions": [
88 {
89 "id": 111,
90 "binaryConditionRuleId": null,
91 "actions": [
92 111
93 ]
94 }
95 ],
96 "conditionActionIdsOnOpen": null
97 }