Платформа 3V/Формы/Действия/Расчет методики

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

Действие, которое выполняет методику с вызова на форме, имеет следующую структуру:

 1  {
 2       "calculationMethodId": 1,
 3       "parameters": [
 4         {
 5           "id": 1,
 6           "expressionId": 1,
 7           "value": null,
 8           "name": null
 9         }
10       ],
11       "id": 1,
12       "comment": "Выполнение методики",
13       "discriminator": "CalculationMethodAction"
14     },

Описание свойств действия

Свойство Описание
calculationMethodId Идентификатор методики
parameters.id Идентификатор параметра в методике
parameters.expressionId Идентификатор выражения
parameters.value Значение параметра
parameters.name Наименование параметра
id Идентификатор действия
comment Описание действия
discriminator CalculationMethodAction

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

Кейс: Использование методики, которая очищает значение в источнике.

Добавить выражение, которое вычисляет очищаемый атрибут. Добавить идентификатор методики. Очищение происходит при нажатии кнопки.

Выполнение методики.gif











JSON серверной карточки
  1 {
  2   "id": 237,
  3   "name": "CalculationMethodAction",
  4   "description": "",
  5   "title": "",
  6   "entrySettings": null,
  7   "uiSources": [
  8     {
  9       "discriminator": "DictionarySourceEntry",
 10       "id": 1,
 11       "caption": null,
 12       "enable": true,
 13       "doActionOnChangeValue": false,
 14       "dataSourceId": 236
 15     },
 16     {
 17       "submitRuleIds": [],
 18       "actionConfirmation": {
 19         "message": null,
 20         "conditionId": null
 21       },
 22       "controlsValueCalculateRulesIds": [],
 23       "conditionalActions": [
 24         111,
 25         222
 26       ],
 27       "onBeforeClickConditionalActions": [],
 28       "id": 111,
 29       "caption": "Выполнить методику",
 30       "enable": true,
 31       "visible": true,
 32       "hint": null,
 33       "uiDataSource": null,
 34       "doActionOnChangeValue": false,
 35       "onAfterChangeValueConditionalActions": null,
 36       "onAfterChangeValueByClientConditionalActions": null,
 37       "enableRuleIds": [],
 38       "visibleRuleIds": [],
 39       "access": {
 40         "read": {
 41           "roles": [],
 42           "inversion": false,
 43           "default": true
 44         },
 45         "edit": {
 46           "roles": [],
 47           "inversion": false,
 48           "default": true
 49         }
 50       },
 51       "isValueChanged": false,
 52       "expressionId": null,
 53       "discriminator": "CustomButtonEntry"
 54     },
 55     {
 56       "pivotSourceId": 222,
 57       "doActionOnChangeFocusedCell": true,
 58       "doActionOnChangeCellValue": false,
 59       "id": 222,
 60       "caption": null,
 61       "enable": false,
 62       "visible": true,
 63       "hint": null,
 64       "uiDataSource": null,
 65       "doActionOnChangeValue": false,
 66       "onAfterChangeValueConditionalActions": null,
 67       "onAfterChangeValueByClientConditionalActions": null,
 68       "rebuildDependentsObjectOnChange": true,
 69       "enableRuleIds": [],
 70       "visibleRuleIds": [],
 71       "access": null,
 72       "isValueChanged": false,
 73       "expressionId": null,
 74       "discriminator": "PivotSourceEntry"
 75     }
 76   ],
 77   "entryDataSources": [
 78     {
 79       "dictionaryId": 236,
 80       "hierarchyId": null,
 81       "filter": null,
 82       "sortingOptions": null,
 83       "groupingOptions": null,
 84       "dictionaryAttributes": null,
 85       "defaultValue": [],
 86       "defaultValueExpressionId": null,
 87       "parameterId": null,
 88       "dictionarySourceSelectionMode": "None",
 89       "dataSourceAttributesAdditionsSettings": [],
 90       "externalFileStorageUrl": null,
 91       "filePrefix": null,
 92       "defaultNewElementSettings": null,
 93       "id": 236,
 94       "name": null,
 95       "isReadOnly": false,
 96       "dataEditRuleIds": [],
 97       "beforeSaveDataActions": [],
 98       "afterSaveDataActions": [],
 99       "discriminator": "DictionaryDataSource"
100     },
101     {
102       "pivotId": 250,
103       "parameters": [],
104       "focusOnFirstCell": true,
105       "doActionOnChangeFocusedCell": true,
106       "doActionOnChangeCellValue": true,
107       "id": 222,
108       "name": null,
109       "isReadOnly": true,
110       "dataEditRuleIds": [],
111       "beforeSaveDataActions": [],
112       "afterSaveDataActions": [],
113       "discriminator": "PivotDataSource"
114     }
115   ],
116   "parameters": [],
117   "binaryConditionsRules": [],
118   "submitValidateRules": [],
119   "expressions": [
120     {
121       "id": 3021,
122       "expression": "[1]",
123       "returnFirstParameterValue": true,
124       "parameters": [
125         {
126           "dictionarySourceId": 236,
127           "attributeId": 1,
128           "getFirstElementValue": false,
129           "useAllInstanceElements": false,
130           "id": 1,
131           "discriminator": "EntryExpressionDictionarySourceParameterDto"
132         }
133       ],
134       "comment": " "
135     }
136   ],
137   "controlsValueCalculateRules": [],
138   "actions": [
139     {
140       "calculationMethodId": 235,
141       "parameters": [
142         {
143           "id": 1,
144           "expressionId": 3021,
145           "value": null
146         }
147       ],
148       "id": 111,
149       "comment": "Очистка атрибута",
150       "discriminator": "CalculationMethodAction"
151     },
152     {
153       "instanceId": 222,
154       "id": 222,
155       "comment": "Ребилд пивота",
156       "discriminator": "RebuildSourceInstanceAction"
157     }
158   ],
159   "conditionActionIdsOnOpen": [],
160   "conditionalActions": [
161     {
162       "id": 111,
163       "binaryConditionRuleId": null,
164       "actions": [
165         111
166       ],
167       "parallelRunning": false
168     },
169     {
170       "id": 222,
171       "binaryConditionRuleId": null,
172       "actions": [
173         222
174       ],
175       "parallelRunning": false
176     }
177   ],
178   "selectionSets": [],
179   "reportTemplates": [],
180   "useNewDependenciesBuilder": null
181 }