Платформа 3V/Формы/Компоненты/Основные/Кнопка/Кнопка 'Сохранить': различия между версиями
(→Пример) |
(→Пример) |
||
Строка 41: | Строка 41: | ||
===Пример=== | ===Пример=== | ||
Имеется справочник контрагентов, ниже представлена серверная карточка для добавления наименования нового контрагента.<br> | Имеется справочник контрагентов, ниже представлена серверная карточка для добавления наименования нового контрагента.<br> | ||
− | 1. Добавлен контрол кнопка Сохранить id=100. | + | 1. Добавлен контрол кнопка Сохранить id=100. <br> |
+ | Этот вид кнопки сохраняет все введенные данные автоматически, при условии, что источник (источники), куда записываются данные имеет свойство "isReadOnly": false. | ||
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
Строка 73: | Строка 74: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
− | 2. Кнопка Сохранить будет сохранять введенное в строку значение в источник - справочник id=3. | + | 2. Кнопка Сохранить будет сохранять введенное в строку значение в источник - справочник id=3. |
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
− | + | { | |
"dictionaryId": 47, | "dictionaryId": 47, | ||
"hierarchyId": null, | "hierarchyId": null, | ||
Строка 91: | Строка 92: | ||
"filePrefix": null, | "filePrefix": null, | ||
"defaultNewElementSettings": null, | "defaultNewElementSettings": null, | ||
− | "id": | + | "id": 3, |
"name": "Список контрагентов", | "name": "Список контрагентов", | ||
"isReadOnly": false, | "isReadOnly": false, | ||
Строка 99: | Строка 100: | ||
"discriminator": "DictionaryDataSource" | "discriminator": "DictionaryDataSource" | ||
− | + | } | |
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> |
Версия 13:13, 18 июня 2021
Содержание
!!!СТРАНИЦА НАХОДИТСЯ В СТАДИИ РАЗРАБОТКИ!!!
Кнопку "Сохранить" можно реализовать двумя способами:
1. кнопка ButtonSubmitSourceEntryDto,
2. кнопка CustomButtonEntry.
Обе кнопки могут содержать дополнительные действия помимо сохранения. Основным отличием является порядок сохранения данных - в кнопке ButtonSubmitSourceEntryDto нельзя управлять порядком сохранения.
ButtonSubmitSourceEntryDto
Кнопка ButtonSubmitSourceEntryDto сохраняет все значения источников, у которых свойство readOnly: false. Таким образом сохраняется все введенные в источники значения.
1 {
2 "confirmation" {...},
3 "nullable": true
4 "submitRuleIds": [],
5 "conditionalActions": [],
6 "onBeforeClickConditionalActions": [],
7 "discriminator": "ButtonSubmitSourceEntry"
8 }
Описание свойств элемента
Свойство | Описание |
---|---|
confirmation | |
nullable | |
submitRuleIds | |
conditionalActions | |
onBeforeClickConditionalActions | |
discriminator | ButtonSubmitSourceEntry |
Пример
Имеется справочник контрагентов, ниже представлена серверная карточка для добавления наименования нового контрагента.
1. Добавлен контрол кнопка Сохранить id=100.
Этот вид кнопки сохраняет все введенные данные автоматически, при условии, что источник (источники), куда записываются данные имеет свойство "isReadOnly": false.
1 {
2 "actionConfirmation": {
3 "message": null,
4 "conditionId": null
5 },
6 "controlsValueCalculateRulesIds": [],
7 "conditionalActions": [],
8 "onBeforeClickConditionalActions": [],
9 "submitRuleIds": [],
10 "id": 100,
11 "caption": "Сохранить",
12 "enable": true,
13 "visible": true,
14 "hint": null,
15 "uiDataSource": null,
16 "doActionOnChangeValue": true,
17 "onAfterChangeValueConditionalActions": null,
18 "onAfterChangeValueByClientConditionalActions": null,
19 "rebuildDependentsObjectOnChange": false,
20 "enableRuleIds": [],
21 "visibleRuleIds": [],
22 "access": null,
23 "isValueChanged": false,
24 "expressionId": null,
25 "discriminator": "ButtonSubmitSourceEntry"
26 }
2. Кнопка Сохранить будет сохранять введенное в строку значение в источник - справочник id=3.
1 {
2 "dictionaryId": 47,
3 "hierarchyId": null,
4 "filter": null,
5 "sortingOptions": null,
6 "groupingOptions": null,
7 "dictionaryAttributes": null,
8 "defaultValue": [],
9 "defaultValueExpressionId": null,
10 "parameterId": null,
11 "dictionarySourceSelectionMode": "None",
12 "dataSourceAttributesAdditionsSettings": [],
13 "externalFileStorageUrl": null,
14 "filePrefix": null,
15 "defaultNewElementSettings": null,
16 "id": 3,
17 "name": "Список контрагентов",
18 "isReadOnly": false,
19 "dataEditRuleIds": [],
20 "beforeSaveDataActions": [],
21 "afterSaveDataActions": [],
22 "discriminator": "DictionaryDataSource"
23
24 }
Здесь два контрола - кнопка Сохранить и строка для ввода нового наименования.
Источник один - справочник в который записываются новые данные, важно, что его свойство isReadOnly имеет значение false, поэтому кнопка типа ButtonSubmitSourceEntry автоматически записывает все введенные данные.
CustomButtonEntry
Кнопка CustomButtonEntry требует добавить действие, которое сохраняет добавленный элемент в источнике данных.
1 {
2 "id": 1,
3 "caption": "Сохранить",
4 "nullable": true,
5 "enable": true,
6 "visible": true,
7 "hint": null,
8 "nullable": true
9 "uiDataSource": null,
10 "doActionOnChangeValue": true,
11 "onAfterChangeValueConditionalActions": null,
12 "onAfterChangeValueActions": null,
13 "onAfterChangeValueByClientConditionalActions": null,
14 "onAfterChangeValueByClientActions": null,
15 "rebuildDependentsObjectOnChange": true,
16 "enableExpressionIds": [],
17 "visibleExpressionIds": [],
18 "isValueChanged" boolean
19 "expressionId": [],
20 "controlsValueCalculateRulesIds"[],
21 "actions" [ 51, 50]
22 "onBeforeClickConditionalActions": [],
23 "onBeforeClickActions": [],
24 "submitRuleIds": [],
25 "discriminator": CustomButtonEntry,
26 }