Платформа 3V/Формы/Действия/Расчет элемента: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 320: Строка 320:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/home?objectId=1534 Форма с установкой полей при открытии]
 +
</div> 
 +
</div>

Версия 11:36, 9 февраля 2022

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

1 {
2       "id": 111,
3       "controlId": 111,
4       "expressionId": 111,
5       "discriminator": "CalculateControlValueAction"
6 }

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

Свойство Описание
id Идентификатор действия
controlId Идентификатор элемента управления
expressionId Идентификатор выражения
discriminator CalculateControlValueAction

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

Кейс: Вычислить количество дней между датам начала и конца периода.

В отдельном выражении из конечной даты вычесть начальную и вывести ее в отдельный элемент управления "Длительность периода (дней)". Вычисление происходит при нажатии на кнопку.

Дата.gif












JSON серверной карточки

Пример использования(вывод строки)

Кейс: Вывести фразу "Строка" при нажатии на кнопку.

Добавить фразу в выражение и вывести ее в элемент управления. Вывод производится при нажатии на кнопку.

Строка.gif








JSON серверной карточки

Назначение даты и названия договора на открытие

Кейс: При умолчанию необходимо выставить в поля дату первого дня первого месяца текущего года и наименование договора "Договор"

Для этого настройте следующее выражение для даты:

1 {
2  "expression": "ComposeDate(Year(Today()), 1, 1) ",
3  "returnFirstParameterValue": false,
4  "operands": [],
5  "id": 2,
6  "name": "Выражение",
7  "code": null
8 }

И следующее выражение для текста:

1 {
2  "expression": "'Договор'",
3  "returnFirstParameterValue": false,
4  "operands": [],
5  "id": 1,
6  "name": "Выражение 1 для выставления значения в текстовое поле ",
7  "code": null
8 }

И реализовать действие следующего вида, где expressionId - идентификатор выражения, controlId - идентификатор:

 1 {
 2  "expressionId": 1,
 3  "controlId": 1,
 4  "discriminator": "CalculateControlValueAction",
 5  "comment": "",
 6  "enableExpressionId": null,
 7  "id": 1,
 8  "name": "Установить значение в поле Наименование",
 9  "code": null
10 }