Платформа 3V/Отчет/5. Настроить представление, оформление отчета/Настроить гиперссылку: различия между версиями
Il.iashin (обсуждение | вклад) |
|||
Строка 236: | Строка 236: | ||
|- | |- | ||
| "openTarget" || Тип открытия ссылки (SameWindow, NewTab, FileDownload, ModalWindow) | | "openTarget" || Тип открытия ссылки (SameWindow, NewTab, FileDownload, ModalWindow) | ||
+ | |- | ||
+ | | "useFirstOrDefaultOperandValue" || Использовать ли только единичное значение операнда формулы (по умолчанию false, true). Для работы с множественным значением, надо выставить true. | ||
|} | |} | ||
Версия 14:47, 14 октября 2022
В пивотах существует возможность настраивать 2 типа гиперссылок: Ссылка на объект репозитория и Ссылка на внешний источник. Гиперссылка настраивается сразу на весь столбец
Содержание
Ссылка на объект репозитория
1. Для того, чтоб в столбце пивота прописать ссылку на объект репозитория, например, на открытие карточки, необходимо в поле columnOptions добавить:
"columnOptions": {} |
---|
1 "hyperlinkOptions": {
2 "metaObjectSource": {
3 "value": 2830,
4 "discriminator": "ConstantValueSourceDto"
5 },
6 "parameterSources": [
7 {
8 "parameterId": 1,
9 "valueSource": {
10 "dictionaryAttribute": {
11 "dictionaryId": 1571,
12 "attribute": {
13 "id": 1,
14 "discriminator": "OwnAttributeDefinitionDto"
15 }
16 },
17 "discriminator": "AttributeValueSourceDto"
18 }
19 }
20 ],
21 "discriminator": "MetaObjectHyperlinkOptionsDto"
22 },
|
Поле | Описание |
---|---|
metaObjectSource | Объект репозитория metaObjectSource |
parameterSources | Параметры с которыми необходимо открыть объект репозитория |
parameterSources.parameterId | Идентификатор параметра объекта репозитория, в который передается отметка из valueSource |
parameterSources.valueSource | Операнд, за счет которого вычисляется отметка параметра, см.#Типы источников значения параметра |
Для объекта репозитория metaObjectSource можно устанавливать как постоянное значение, так и значение, вычисляемое по формуле.
Ссылка на объект репозитория в виде константы
1 "hyperlinkOptions": {
2 "metaObjectSource": {
3 "value": 2830,
4 "discriminator": "ConstantValueSourceDto"
5 },
6 "parameterSources": [
7 {
8 "parameterId": 1,
9 "valueSource": {
10 "dictionaryAttribute": {
11 "dictionaryId": 1571,
12 "attribute": {
13 "id": 1,
14 "discriminator": "OwnAttributeDefinitionDto"
15 }
16 },
17 "discriminator": "AttributeValueSourceDto"
18 }
19 }
20 ],
21 "discriminator": "MetaObjectHyperlinkOptionsDto"
22 },
Ссылка на объект репозитория в виде формулы
1 "hyperlinkOptions": {
2 "metaObjectSource": {
3 "formula": {
4 "expression": "if ([2] = '5', '4141', if ([1] = '1', '2645', '3153'))",
5 "operands": [
6 {
7 "dictionaryId": 1100,
8 "attribute": {
9 "id": 301,
10 "discriminator": "OwnAttributeDefinitionDto"
11 },
12 "attributeId": 301,
13 "code": null,
14 "id": 1,
15 "name": null,
16 "discriminator": "AttributeFormulaOperandDto"
17 },
18 {
19 "dictionaryId": 1100,
20 "attribute": {
21 "id": 100125,
22 "discriminator": "OwnAttributeDefinitionDto"
23 },
24 "attributeId": 100125,
25 "code": null,
26 "id": 2,
27 "name": null,
28 "discriminator": "AttributeFormulaOperandDto"
29 },
30 {
31 "dictionaryId": 1100,
32 "attribute": {
33 "id": 1,
34 "discriminator": "OwnAttributeDefinitionDto"
35 },
36 "attributeId": 1,
37 "code": null,
38 "id": 3,
39 "name": null,
40 "discriminator": "AttributeFormulaOperandDto"
41 }
42 ],
43 "code": null,
44 "id": 1,
45 "name": null
46 },
47 "discriminator": "FormulaValueSourceDto"
48 },
49 "parameterSources": [
50 {
51 "parameterId": 1,
52 "valueSource": {
53 "dictionaryAttribute": {
54 "dictionaryId": 1100,
55 "attribute": {
56 "id": 1,
57 "discriminator": "OwnAttributeDefinitionDto"
58 }
59 },
60 "discriminator": "AttributeValueSourceDto"
61 }
62 }
63 ],
64 "discriminator": "MetaObjectHyperlinkOptionsDto"
65 },
Типы источников значения параметра
Тип | Описание |
---|---|
AttributeValueSourceDto | Значение атрибута справочника |
CellValueSourceDto | Значение ячейки отчета |
ConstantValueSourceDto | Постоянное значение |
FormulaValueSourceDto | Значение, расчетываемое по формуле |
ParameterAttributeValueSourceDto | Значение из атрибута параметра отчета |
ParameterValueSourceDto | Значение параметра отчета |
Ссылка на внешний источник
1. Для того, чтоб в столбце пивота прописать ссылку на объект репозитория, необходимо в поле columnOptions добавить:
"columnOptions": {} |
---|
1 "hyperlinkOptions": {
2 "formula": {
3 "expression": "'http://google.ru/'"
4 },
5 "openTarget": "NewTab",
6 "discriminator": "SimpleHyperlinkOptionsDto"
7 }
|
Простая ссылка на внешний источник с данными из атрибута таблица
"columnOptions": {} |
---|
1 "hyperlinkOptions": {
2 "formula": {
3 "expression": "[1]",
4 "operands": [
5 {
6 "dictionaryId": 462,
7 "attribute": {
8 "id": 21,
9 "discriminator": "OwnAttributeDefinitionDto"
10 },
11 "attributeId": 21,
12 "code": null,
13 "id": 1,
14 "name": null,
15 "discriminator": "AttributeFormulaOperandDto"
16 }
17 ],
18 "code": null,
19 "id": 0,
20 "name": null
21 },
22 "openTarget": "NewTab",
23 "discriminator": "SimpleHyperlinkOptionsDto"
24 }
|
Поле | Описание |
---|---|
"formula" | Формула для формирования гиперссылки |
"openTarget" | Тип открытия ссылки (SameWindow, NewTab, FileDownload, ModalWindow) |
"useFirstOrDefaultOperandValue" | Использовать ли только единичное значение операнда формулы (по умолчанию false, true). Для работы с множественным значением, надо выставить true. |
Ссылка на веб-страницу
Для openTarget устанавливается тип ссылки - это может быть ссылка на веб-страницу, которая может открываться как в новой вкладке (NewTab), так и в текущем окне (SameWindow)
1 "hyperlinkOptions": {
2 "formula": {
3 "expression": "'http://google.ru/'"
4 },
5 "openTarget": "SameWindow",
6 "discriminator": "SimpleHyperlinkOptionsDto"
7 }
Ссылка на скачивание файла
Кроме этого, существует отдельный тип ссылки для скачивания файлов (FileDownload)
1 "hyperlinkOptions": {
2 "formula": {
3 "expression": "'https://3v.3v-group.net/filestorage/api/FileStorage/Db/get/' + [0]",
4 "operands": [
5 {
6 "dictionaryId": 1212,
7 "attribute": {
8 "innerAttribute": {
9 "id": 23,
10 "discriminator": "OwnAttributeDefinitionDto"
11 },
12 "id": 21,
13 "discriminator": "TransitiveAttributeDefinitionDto"
14 },
15 "attributeId": null,
16 "code": null,
17 "id": 0,
18 "name": null,
19 "discriminator": "AttributeFormulaOperandDto"
20 }
21 ],
22 "code": null,
23 "id": 0,
24 "name": null
25 },
26 "openTarget": "FileDownload",
27 "discriminator": "SimpleHyperlinkOptionsDto"
28 },
Небольшое отступление: если используете ссылку на хранилище проекта, то, обычно, на разных схемах одного и того же проекта эта ссылка отличается. Чтоб избежать необходимости каждый раз переписывать ссылку, рекомендуется использовать относительный адрес ссылки, например, '/filestorage/api/FileStorage/Db/get/'