Платформа 3V/Формы/Компоненты/Основные/Кнопка/Кнопка 'Cброс отметки'

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

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

 1 {
 2       "dictionaryEntrySourceId": 1,
 3       "attributeId": 1,
 4       "value": [],
 5       "sourceType": "",
 6       "controlId": 1,
 7       "id": 1,
 8       "comment": "",
 9       "discriminator": "CalculateControlValueByDictionaryEntrySourceAction"
10 }

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

Свойство Описание
dictionaryEntrySourceId Идентификатор источника данных - справочника серверной карточки
attributeId Идентификатор атрибута
value Значение
sourceType Тип вычисления отметки
id Идентификатор действия
controlId Идентификатор элемента управления
expressionId Идентификатор выражения
comment Описание действия
discriminator CalculateControlValueByDictionaryEntrySourceAction


sourceType
Permissions Определение
Value До определённой отметки
Selection
AllElementsIds Все элементы
FirstElement Первый элемент
Empty Пустота

Пример использования(сброс значения)

Кейс: Сбросить выбранное значение справочника.

Добавить действие, в котором указать "sourceType": "Empty" и вывести ее в элемент управления. Вычисление происходит при нажатии кнопки.

Сброс значения.gif











JSON серверной карточки
  1 {
  2   "id": 33,
  3   "name": "CalculateControlValueByDictionaryEntrySourceAction",
  4   "description": "",
  5   "title": "",
  6   "entrySettings": null,
  7   "uiSources": [
  8     {
  9       "dataSourceId": 111,
 10       "nameTemplate": "",
 11       "displayAttribute": null,
 12       "hasMultipleValue": false,
 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": 111,
 23       "caption": null,
 24       "enable": true,
 25       "visible": true,
 26       "hint": null,
 27       "uiDataSource": null,
 28       "doActionOnChangeValue": true,
 29       "onAfterChangeValueConditionalActions": null,
 30       "onAfterChangeValueByClientConditionalActions": null,
 31       "rebuildDependentsObjectOnChange": true,
 32       "enableRuleIds": [],
 33       "visibleRuleIds": [],
 34       "access": null,
 35       "isValueChanged": true,
 36       "expressionId": null,
 37       "discriminator": "DictionarySourceEntry"
 38     },
 39     {
 40       "submitRuleIds": [],
 41       "actionConfirmation": {
 42         "message": null,
 43         "conditionId": null
 44       },
 45       "controlsValueCalculateRulesIds": [],
 46       "conditionalActions": [
 47         111
 48       ],
 49       "onBeforeClickConditionalActions": [],
 50       "id": 112,
 51       "caption": "Сбросить",
 52       "enable": true,
 53       "visible": true,
 54       "hint": null,
 55       "uiDataSource": null,
 56       "doActionOnChangeValue": false,
 57       "onAfterChangeValueConditionalActions": null,
 58       "onAfterChangeValueByClientConditionalActions": null,
 59       "enableRuleIds": [],
 60       "visibleRuleIds": [],
 61       "access": {
 62         "read": {
 63           "roles": [],
 64           "inversion": false,
 65           "default": true
 66         },
 67         "edit": {
 68           "roles": [],
 69           "inversion": false,
 70           "default": true
 71         }
 72       },
 73       "isValueChanged": false,
 74       "expressionId": null,
 75       "discriminator": "CustomButtonEntry"
 76     }
 77   ],
 78   "entryDataSources": [
 79     {
 80       "dictionaryId": 31,
 81       "hierarchyId": null,
 82       "filter": null,
 83       "sortingOptions": null,
 84       "groupingOptions": null,
 85       "dictionaryAttributes": null,
 86       "defaultValue": [],
 87       "defaultValueExpressionId": null,
 88       "parameterId": null,
 89       "dictionarySourceSelectionMode": "None",
 90       "dataSourceAttributesAdditionsSettings": [],
 91       "externalFileStorageUrl": null,
 92       "filePrefix": null,
 93       "defaultNewElementSettings": null,
 94       "id": 111,
 95       "name": null,
 96       "isReadOnly": true,
 97       "dataEditRuleIds": [],
 98       "beforeSaveDataActions": [],
 99       "afterSaveDataActions": [],
100       "discriminator": "DictionaryDataSource"
101     }
102   ],
103   "parameters": [],
104   "binaryConditionsRules": [],
105   "submitValidateRules": [],
106   "expressions": [
107     {
108       "id": 111,
109       "expression": "[1]",
110       "returnFirstParameterValue": false,
111       "parameters": [
112         {
113           "value": "Строка",
114           "id": 1,
115           "allowMultipleValues": false,
116           "discriminator": "EntryExpressionConstantParameterDto"
117         }
118       ],
119       "comment": null
120     }
121   ],
122   "controlsValueCalculateRules": [],
123   "actions": [
124     {
125       "dictionaryEntrySourceId": 31,
126       "attributeId": 1,
127       "value": [],
128       "sourceType": "Empty",
129       "controlId": 111,
130       "id": 111,
131       "comment": "Сброс значения",
132       "discriminator": "CalculateControlValueByDictionaryEntrySourceAction"
133     }
134   ],
135   "conditionActionIdsOnOpen": [],
136   "conditionalActions": [
137     {
138       "id": 111,
139       "binaryConditionRuleId": null,
140       "actions": [
141         111
142       ],
143       "parallelRunning": false
144     }
145   ],
146   "selectionSets": [],
147   "reportTemplates": [],
148   "useNewDependenciesBuilder": null
149 }

Пример использования(выбор всех значений справочника)

Кейс: Отметить все значения справочника.

Добавить действие, в котором указать "sourceType": "AllElementsIds" и вывести ее в элемент управления, где "hasMultipleValue":"true". Вычисление происходит при нажатии кнопки.

выбор всех значений в источнике.gif











JSON серверной карточки
  1 {
  2   "id": 37,
  3   "name": "CalculateControlValueByDictionaryEntrySourceAction",
  4   "description": "",
  5   "title": "",
  6   "entrySettings": null,
  7   "uiSources": [
  8     {
  9       "discriminator": "DictionarySourceEntry",
 10       "attributeId": 0,
 11       "sourceType": "Dictionary",
 12       "dataType": "Integer",
 13       "dataSourceId": 111,
 14       "id": 111,
 15       "caption": "Наименование из примера",
 16       "enable": true,
 17       "hint": null,
 18       "sourceId": 0,
 19       "doActionOnChangeValue": false,
 20       "hasMultipleValue": true,
 21       "hasNullableValue": false
 22     },
 23     {
 24       "submitRuleIds": [],
 25       "actionConfirmation": {
 26         "message": null,
 27         "conditionId": null
 28       },
 29       "controlsValueCalculateRulesIds": [],
 30       "conditionalActions": [
 31         111
 32       ],
 33       "onBeforeClickConditionalActions": [],
 34       "id": 112,
 35       "caption": "Назначить всех",
 36       "enable": true,
 37       "visible": true,
 38       "hint": null,
 39       "uiDataSource": null,
 40       "doActionOnChangeValue": false,
 41       "onAfterChangeValueConditionalActions": null,
 42       "onAfterChangeValueByClientConditionalActions": null,
 43       "enableRuleIds": [],
 44       "visibleRuleIds": [],
 45       "access": {
 46         "read": {
 47           "roles": [],
 48           "inversion": false,
 49           "default": true
 50         },
 51         "edit": {
 52           "roles": [],
 53           "inversion": false,
 54           "default": true
 55         }
 56       },
 57       "isValueChanged": false,
 58       "expressionId": null,
 59       "discriminator": "CustomButtonEntry"
 60     }
 61   ],
 62   "entryDataSources": [
 63     {
 64       "discriminator": "DictionaryDataSource",
 65       "dictionaryId": 31,
 66       "filter": {
 67         "value": [
 68           1,
 69           2,
 70           3
 71         ],
 72         "attributeId": 1,
 73         "attribute": null,
 74         "conditionType": "AttributeInCollection",
 75         "inversion": false,
 76         "conditionId": null,
 77         "discriminator": "ValueConditionalDictionaryFilterDto"
 78       },
 79       "groupingOptions": null,
 80       "defaultValue": [],
 81       "dictionarySourceSelectionMode": "SelectAll",
 82       "id": 111,
 83       "name": "ExampleDict",
 84       "isReadOnly": true
 85     }
 86   ],
 87   "parameters": [],
 88   "binaryConditionsRules": [],
 89   "submitValidateRules": [],
 90   "expressions": [],
 91   "controlsValueCalculateRules": [],
 92   "actions": [
 93     {
 94       "dictionaryEntrySourceId": 111,
 95       "attributeId": 1,
 96       "value": [],
 97       "sourceType": "AllElementIds",
 98       "controlId": 111,
 99       "id": 111,
100       "comment": "Выбор всех значений",
101       "discriminator": "CalculateControlValueByDictionaryEntrySourceAction"
102     }
103   ],
104   "conditionActionIdsOnOpen": [],
105   "conditionalActions": [
106     {
107       "id": 111,
108       "binaryConditionRuleId": null,
109       "actions": [
110         111
111       ],
112       "parallelRunning": false
113     }
114   ],
115   "selectionSets": [],
116   "reportTemplates": [],
117   "useNewDependenciesBuilder": null
118 }