Платформа 3V/Отчет/4. Настроить параметры: различия между версиями
Строка 169: | Строка 169: | ||
"IsDisabled": true, | "IsDisabled": true, | ||
"defaultValue": "=Now()+1", | "defaultValue": "=Now()+1", | ||
+ | "discriminator": "SimpleValueParameterDto" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''Пример описания параметра с вычислением даты неделю назад (даты от) и даты сегодня (дата до).'''<br> | ||
+ | |||
+ | '''''Дата от''''' | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | "id": 1, | ||
+ | "name": "Дата от", | ||
+ | "IsDisabled": true, | ||
+ | "defaultValue": "=Today()-7", | ||
+ | "discriminator": "SimpleValueParameterDto" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''''Дата до''''' | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | "id": 1, | ||
+ | "name": "Дата до", | ||
+ | "IsDisabled": true, | ||
+ | "defaultValue": "=Today()", | ||
+ | "discriminator": "SimpleValueParameterDto" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | Важно учесть, что при вычислении даты на сегодняшний день вышеуказанным способом автоматически определится время 00:00. То есть при выборе даты 10.01.2021 в параметре будет значение 10.01.2021 00:00:00. Для того, чтобы отобразить все данные за сегодняшний день, при этом не изменив дату, можно описать параметр следующим образом: | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | "id": 1, | ||
+ | "name": "Дата до", | ||
+ | "IsDisabled": true, | ||
+ | "defaultValue": "=Today()+0.9999", | ||
"discriminator": "SimpleValueParameterDto" | "discriminator": "SimpleValueParameterDto" | ||
} | } |
Текущая версия на 11:37, 16 февраля 2022
Содержание
Простой параметр (SimpleValueParameterDto)
Простой параметр - это параметр значение которого задается константой.
1 {
2 "defaultValue": "Значение по умолчанию",
3 "value": "Значение",
4 "isMultiselect": false,
5 "isEmptyValuePossible": false,
6 "isDisableable": false,
7 "isDisabled": false,
8 "dataControlOptions": null,
9 "id": 1,
10 "name": "Простой параметр",
11 "discriminator": "SimpleValueParameterDto"
12 }
Свойство | Описание |
---|---|
id | Идентификатор параметра |
name | Наименование параметра |
isMultiselect | Признак, что параметр может иметь множественное значение |
isEmptyValuePossible | Признак, что параметр может иметь пустое значение |
isDisableable | Признак, что параметр может быть отключён |
IsDisabled | Признак, что параметр отключен |
DataControlOptions | Настройки элемента управления (контрола) параметром DataControlOptionsDto |
value | Значение параметра, если isMultiselect == true, то в значении может быть массив значений. |
defaultValue | Значение параметра по умолчанию |
Типизированный параметр (TypedValueParameterDto)
Типизированный параметр - это параметр значение которого задается типизированной константой.
1 {
2 "dataType": "String",
3 "defaultValue": "Значение по умолчанию",
4 "value": "Значение",
5 "isMultiselect": false,
6 "isEmptyValuePossible": false,
7 "isDisableable": false,
8 "isDisabled": false,
9 "dataControlOptions": null,
10 "id": 1,
11 "name": "Типизированный параметр",
12 "discriminator": "TypedValueParameterDto"
13 }
Ключевое отличие типизированного параметра от простого заключается в строгой типизации значения, если для простого параметра не важно что в значение будет: строка, число, дата, то для типизированного важно.
Свойство | Описание |
---|---|
dataType | Тип данных значений параметра |
Остальные свойства TypedValueParameterDto такие же как в SimpleValueParameterDto за исключением dataType.
Параметр на справочнике (DictionaryParameterDto)
Параметр на справочнике - это параметр значения которого берутся из атрибута справочника.
1 {
2 "options": {
3 "groupingOptions": null,
4 "groupingMethod": "Default",
5 "sortingOptions": null,
6 "rootElement": null,
7 "virtualElements": null,
8 "displayValueOptions": null,
9 "dictionaryId": 8237,
10 "filter": null,
11 "selection": null,
12 "hierarchyId": null
13 },
14 "selectionFilter": {
15 "value": [
16 1
17 ],
18 "skipIfValueNull": false,
19 "attributeId": null,
20 "attribute": {
21 "id": 1,
22 "discriminator": "OwnAttributeDefinitionDto"
23 },
24 "conditionType": "AttributeInCollection",
25 "inversion": false,
26 "discriminator": "ValueConditionalDictionaryFilterDto"
27 },
28 "attributeValues": null,
29 "defaultValue": [],
30 "value": null,
31 "isMultiselect": false,
32 "isEmptyValuePossible": true,
33 "isDisableable": false,
34 "isDisabled": false,
35 "dataControlOptions": null,
36 "id": 2,
37 "name": "Ремонты",
38 "discriminator": "DictionaryParameterDto"
39 }
Свойство | Описание |
---|---|
options | Настройки справочника для параметра DictionaryOptionsDto |
attributeValues | Значения атрибута справочника, которые будут использоваться в качестве значений (вместо value) DictionaryAttributeParameterValueDto |
selectionFilter | Фильтр, по которому будет определятся отметка справочника в параметре. |
Свойства dictionaryId, sortingOptions, displayValueOptions являются устаревшими.
Остальные свойства DictionaryParameterDto такие же как в SimpleValueParameterDto.
Способы задания отметки для параметра на справочнике
- Value или DefaultValue
- AttributeValues (Теперь устаревшее, т.к. появился фильтр, но поддержка остается)
- SelectionFilter
Приоритет отдается SelectionFilter, затем AttributeValues и в последнюю очередь Value и DefaultValue.
При открытии отмечать все элементы
1 "selectionFilter": {
2 "value": null,
3 "skipIfValueNull": false,
4 "attributeId": null,
5 "attribute": {
6 "id": 1,
7 "discriminator": "OwnAttributeDefinitionDto"
8 },
9 "conditionType": "AllElements",
10 "inversion": false,
11 "discriminator": "ValueConditionalDictionaryFilterDto"
12 },
Вычислимый параметр
Вычислимый параметр - это параметр значение которых вычисляется по выражению.
- Вычисление значения параметра поддерживается только для SimpleValueParameterDto.
- Выражение описывается в свойстве параметра DefaultValue или Value.
- Выражение ДОЛЖНО начинаться с символа '=', например "=1+2".
- Тип данных параметра определяется по результату вычисления, поэтому нет смысла использовать TypedValueParameterDto.
Пример описания параметра с вычислением даты завтрашнего дня.
1 {
2 "id": 1,
3 "name": "Завтра",
4 "IsDisabled": true,
5 "defaultValue": "=Now()+1",
6 "discriminator": "SimpleValueParameterDto"
7 }
Пример описания параметра с вычислением даты неделю назад (даты от) и даты сегодня (дата до).
Дата от
1 {
2 "id": 1,
3 "name": "Дата от",
4 "IsDisabled": true,
5 "defaultValue": "=Today()-7",
6 "discriminator": "SimpleValueParameterDto"
7 }
Дата до
1 {
2 "id": 1,
3 "name": "Дата до",
4 "IsDisabled": true,
5 "defaultValue": "=Today()",
6 "discriminator": "SimpleValueParameterDto"
7 }
Важно учесть, что при вычислении даты на сегодняшний день вышеуказанным способом автоматически определится время 00:00. То есть при выборе даты 10.01.2021 в параметре будет значение 10.01.2021 00:00:00. Для того, чтобы отобразить все данные за сегодняшний день, при этом не изменив дату, можно описать параметр следующим образом:
1 {
2 "id": 1,
3 "name": "Дата до",
4 "IsDisabled": true,
5 "defaultValue": "=Today()+0.9999",
6 "discriminator": "SimpleValueParameterDto"
7 }
Пример описания параметра с вычислением числа.
1 {
2 "id": 1,
3 "name": "Число",
4 "IsDisabled": true,
5 "defaultValue": "=1 + 2.3",
6 "discriminator": "SimpleValueParameterDto"
7 }
Пример описания параметра с вычислением строки.
1 {
2 "id": 1,
3 "name": "Строка",
4 "IsDisabled": true,
5 "defaultValue": "=('ab' + 'cd')",
6 "discriminator": "SimpleValueParameterDto"
7 }