Платформа 3V/Формы/Компоненты/Основные/Кнопка/Кнопка 'Сохранить': различия между версиями
(→Пример) |
|||
Строка 1: | Строка 1: | ||
=!!!СТРАНИЦА НАХОДИТСЯ В СТАДИИ РАЗРАБОТКИ!!!= | =!!!СТРАНИЦА НАХОДИТСЯ В СТАДИИ РАЗРАБОТКИ!!!= | ||
− | Кнопку "Сохранить" можно реализовать двумя способами: <br> | + | Кнопку "Сохранить" можно реализовать двумя способами: <br><br> |
− | 1. | + | 1. Кнопка ButtonSubmitSourceEntryDto, <br> |
− | 2. | + | 2. Кнопка CustomButtonEntry. <br> |
<br> | <br> | ||
− | Обе кнопки могут содержать дополнительные действия помимо сохранения. Основным отличием является порядок сохранения данных - в кнопке ButtonSubmitSourceEntryDto нельзя управлять порядком сохранения. <br> | + | Обе кнопки могут содержать дополнительные действия помимо сохранения. |
+ | |||
+ | Основным отличием является порядок сохранения данных - в кнопке ButtonSubmitSourceEntryDto нельзя управлять порядком сохранения. <br> | ||
==ButtonSubmitSourceEntryDto== | ==ButtonSubmitSourceEntryDto== | ||
Строка 164: | Строка 166: | ||
==CustomButtonEntry== | ==CustomButtonEntry== | ||
Кнопка CustomButtonEntry требует [[Платформа_3V/Формы/Действия/Сохранение источников|'''добавить действие, которое сохраняет добавленный элемент в источнике данных''']]. <br> | Кнопка CustomButtonEntry требует [[Платформа_3V/Формы/Действия/Сохранение источников|'''добавить действие, которое сохраняет добавленный элемент в источнике данных''']]. <br> | ||
+ | Действия, "повешанные" на кнопку, будут выполняться последовательно. | ||
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
{ | { | ||
Строка 194: | Строка 197: | ||
===Пример=== | ===Пример=== | ||
− | Кейс: Внести данные об отпуске сотрудника - ФИО и период | + | Кейс: Внести данные об отпуске сотрудника - ФИО и период. При нажатии кнопки "Сохранить" выполняться три действия: сначала произойдет вычисление количества дней отпуска, затем данные сохранятся и, наконец, обновится пивот. |
[[Файл:SubmitButton_1.gif|мини|слева|Внесение данных]] | [[Файл:SubmitButton_1.gif|мини|слева|Внесение данных]] |
Версия 11:32, 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 }
Пример
Кейс: Добавление нового элемента справочника.
Кнопка Сохранить(контрол id=100) сохрает введенное в строку значение в справочник (источник id=3).
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 }
Пример
Кейс: Внести данные об отпуске сотрудника - ФИО и период. При нажатии кнопки "Сохранить" выполняться три действия: сначала произойдет вычисление количества дней отпуска, затем данные сохранятся и, наконец, обновится пивот.