Платформа 3V/Справочник/Задание атрибутов в справочнике/Вычислимые атрибуты

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Вычислимый атрибут - это атрибут, значение которого вычисляется по формуле.

Пример: При помощи вычислимого столбца можно вывести Ф.И.О. сотрудника в одном столбце, если в справочнике есть атрибуты: Фамилия, Имя, Отчество.

Для создания вычислимого атрибута необходимо: 1. Создать атрибут с типом "Вычислимый" ("type": "Calculated"); 2. Установить для атрибута режим "Только для чтения" ("isReadOnly: true"); 2. Задать для атрибута формулу вычисления (formula).

Пример:

 1 [{
 2         "id": 21,
 3         "name": "Имя",
 4         "dataType": "String"
 5     }, {
 6         "id": 22,
 7         "name": "Фамилия",
 8         "dataType": "String"
 9     }, {
10         "id": 23,
11         "name": "Отчество",
12         "dataType": "String"
13     }, {
14         "id": 24,
15         "name": "Ф.И.О",
16         "type": "Calculated",
17         "isReadOnly": true,
18         "dataType": "String",
19         "formula": {
20             "id": 1,
21             "name": "Формула вычисления Ф.И.О"
22             "code": "FIO_FORMULA",
23             "expression": "[0]+[1]+[2]",
24             "operands": [{
25                     "id": 1,
26                     "code": null,
27                     "name": null,
28                     "discriminator": "InvariantAttributeFormulaOperandDto",
29                     "attribute": {
30                         "id": 22,
31                         "discriminator": "OwnAttributeDefinitionDto"
32                     },
33                 }, {
34                     "id": 2,
35                     "code": null,
36                     "name": null,
37                     "discriminator": "InvariantAttributeFormulaOperandDto",
38                     "attribute": {
39                         "id": 21,
40                         "discriminator": "OwnAttributeDefinitionDto"
41                     }
42                 }, {
43                     "id": 3,
44                     "code": null,
45                     "name": null,
46                     "discriminator": "InvariantAttributeFormulaOperandDto",
47                     "attribute": {
48                         "id": 23,
49                         "discriminator": "OwnAttributeDefinitionDto"
50                     }
51                 }
52             ]
53         }
54     }
55 ]