Платформа 3V/Формы/Компоненты/Основные/Кнопка/Кнопка 'Сохранить': различия между версиями
(→Пример) |
|||
Строка 8: | Строка 8: | ||
==ButtonSubmitSourceEntryDto== | ==ButtonSubmitSourceEntryDto== | ||
− | + | Кнопка сохраняет все введенные данные автоматически. <br> | |
− | + | Важно чтобы свойство "isReadOnly" источника (источников), куда записываются данные принимало значение false. | |
− | |||
− | |||
− | |||
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
Строка 44: | Строка 41: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
+ | |||
+ | ===Пример=== | ||
+ | |||
+ | Кейс: Добавление нового элемента справочника.<br> | ||
+ | |||
+ | 1. Добавлен контрол кнопка Сохранить id=100. <br> | ||
+ | |||
+ | |||
2. Кнопка Сохранить будет сохранять введенное в строку значение в источник - справочник id=3. | 2. Кнопка Сохранить будет сохранять введенное в строку значение в источник - справочник id=3. | ||
Версия 11:21, 25 июня 2021
Содержание
!!!СТРАНИЦА НАХОДИТСЯ В СТАДИИ РАЗРАБОТКИ!!!
Кнопку "Сохранить" можно реализовать двумя способами:
1. кнопка ButtonSubmitSourceEntryDto,
2. кнопка CustomButtonEntry.
Обе кнопки могут содержать дополнительные действия помимо сохранения. Основным отличием является порядок сохранения данных - в кнопке ButtonSubmitSourceEntryDto нельзя управлять порядком сохранения.
ButtonSubmitSourceEntryDto
Кнопка сохраняет все введенные данные автоматически.
Важно чтобы свойство "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 }
Пример
Кейс: Добавление нового элемента справочника.
1. Добавлен контрол кнопка Сохранить id=100.
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 }
Пример
Кейс: Внести данные об отпуске сотрудника - ФИО и период, при нажатии кнопки "Сохранить" произойдет вычисление количества дней отпуска, после этого данные сохранятся.