Платформа 3V/Справочник/Задание атрибутов в справочнике/Вычислимые атрибуты: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «Вычислимый атрибут - это атрибут, значение которого вычисляется по формуле. '''Пример:''' П...») |
Il.iashin (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 67: | Строка 67: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Еще пример описания вычислимого атрибута в json: | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | |||
+ | { | ||
+ | "id": 25, | ||
+ | "name": "Выч. атрибут Bool", | ||
+ | "code": "CODE_8", | ||
+ | "description": "", | ||
+ | "dataType": "Boolean", | ||
+ | "type": "Calculated", | ||
+ | "isNullable": true, | ||
+ | "hasMultipleValues": false, | ||
+ | "isVisible": true, | ||
+ | "isReadOnly": false, | ||
+ | "formula": { | ||
+ | "expression": "[1] > 2", | ||
+ | "operands": [ | ||
+ | { | ||
+ | "attribute": { | ||
+ | "discriminator": "OwnAttributeDefinitionDto", | ||
+ | "id": 1 | ||
+ | }, | ||
+ | "discriminator": "InvariantAttributeFormulaOperandDto", | ||
+ | "code": null, | ||
+ | "id": 1, | ||
+ | "name": null | ||
+ | } | ||
+ | ], | ||
+ | "code": null, | ||
+ | "id": 0, | ||
+ | "name": null | ||
+ | }, | ||
+ | "tableName": "", | ||
+ | "identIndex": { | ||
+ | "code": null, | ||
+ | "isUnique": false, | ||
+ | "dbIndexName": null, | ||
+ | "fields": [], | ||
+ | "isNew": true | ||
+ | }, | ||
+ | "referenceIndex": { | ||
+ | "code": null, | ||
+ | "isUnique": false, | ||
+ | "dbIndexName": null, | ||
+ | "fields": [], | ||
+ | "isNew": true | ||
+ | }, | ||
+ | "defaultValue": null, | ||
+ | "defaultValueExpression": null, | ||
+ | "component": null, | ||
+ | "parentAttributeId": null, | ||
+ | "locale": null | ||
+ | } | ||
+ | </syntaxhighlight > |
Текущая версия на 14:11, 29 ноября 2021
Вычислимый атрибут - это атрибут, значение которого вычисляется по формуле.
Пример: При помощи вычислимого столбца можно вывести Ф.И.О. сотрудника в одном столбце, если в справочнике есть атрибуты: Фамилия, Имя, Отчество.
Для создания вычислимого атрибута необходимо: 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 ]
Еще пример описания вычислимого атрибута в json:
1 {
2 "id": 25,
3 "name": "Выч. атрибут Bool",
4 "code": "CODE_8",
5 "description": "",
6 "dataType": "Boolean",
7 "type": "Calculated",
8 "isNullable": true,
9 "hasMultipleValues": false,
10 "isVisible": true,
11 "isReadOnly": false,
12 "formula": {
13 "expression": "[1] > 2",
14 "operands": [
15 {
16 "attribute": {
17 "discriminator": "OwnAttributeDefinitionDto",
18 "id": 1
19 },
20 "discriminator": "InvariantAttributeFormulaOperandDto",
21 "code": null,
22 "id": 1,
23 "name": null
24 }
25 ],
26 "code": null,
27 "id": 0,
28 "name": null
29 },
30 "tableName": "",
31 "identIndex": {
32 "code": null,
33 "isUnique": false,
34 "dbIndexName": null,
35 "fields": [],
36 "isNew": true
37 },
38 "referenceIndex": {
39 "code": null,
40 "isUnique": false,
41 "dbIndexName": null,
42 "fields": [],
43 "isNew": true
44 },
45 "defaultValue": null,
46 "defaultValueExpression": null,
47 "component": null,
48 "parentAttributeId": null,
49 "locale": null
50 }