Платформа 3V/Отчет/4. Настроить параметры: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 6 промежуточных версий 4 участников)
Строка 137: Строка 137:
  
 
Приоритет отдается SelectionFilter, затем AttributeValues и в последнюю очередь Value и DefaultValue.
 
Приоритет отдается SelectionFilter, затем AttributeValues и в последнюю очередь Value и DefaultValue.
 +
 +
'''При открытии отмечать все элементы'''
 +
<syntaxhighlight lang="JSON" line>
 +
"selectionFilter": {
 +
        "value": null,
 +
        "skipIfValueNull": false,
 +
        "attributeId": null,
 +
        "attribute": {
 +
          "id": 1,
 +
          "discriminator": "OwnAttributeDefinitionDto"
 +
        },
 +
        "conditionType": "AllElements",
 +
        "inversion": false,
 +
        "discriminator": "ValueConditionalDictionaryFilterDto"
 +
      },
 +
</syntaxhighlight>
  
 
== Вычислимый параметр ==
 
== Вычислимый параметр ==
Строка 153: Строка 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.

Способы задания отметки для параметра на справочнике

  1. Value или DefaultValue
  2. AttributeValues (Теперь устаревшее, т.к. появился фильтр, но поддержка остается)
  3. 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       },

Вычислимый параметр

Вычислимый параметр - это параметр значение которых вычисляется по выражению.

  1. Вычисление значения параметра поддерживается только для SimpleValueParameterDto.
  2. Выражение описывается в свойстве параметра DefaultValue или Value.
  3. Выражение ДОЛЖНО начинаться с символа '=', например "=1+2".
  4. Тип данных параметра определяется по результату вычисления, поэтому нет смысла использовать 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 }