Платформа 3V/Отчет/5. Настроить представление, оформление отчета/Настроить гиперссылку: различия между версиями
Il.iashin (обсуждение | вклад) |
Il.iashin (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 223: | Строка 223: | ||
}, | }, | ||
"openTarget": "NewTab", | "openTarget": "NewTab", | ||
+ | "useFirstOrDefaultOperandValue": true, | ||
"discriminator": "SimpleHyperlinkOptionsDto" | "discriminator": "SimpleHyperlinkOptionsDto" | ||
} | } | ||
Строка 252: | Строка 253: | ||
}, | }, | ||
"openTarget": "SameWindow", | "openTarget": "SameWindow", | ||
+ | "useFirstOrDefaultOperandValue": true, | ||
"discriminator": "SimpleHyperlinkOptionsDto" | "discriminator": "SimpleHyperlinkOptionsDto" | ||
} | } | ||
Строка 290: | Строка 292: | ||
}, | }, | ||
"openTarget": "FileDownload", | "openTarget": "FileDownload", | ||
+ | "useFirstOrDefaultOperandValue": true, | ||
"discriminator": "SimpleHyperlinkOptionsDto" | "discriminator": "SimpleHyperlinkOptionsDto" | ||
}, | }, | ||
Строка 296: | Строка 299: | ||
Небольшое отступление: если используете ссылку на хранилище проекта, то, обычно, на разных схемах одного и того же проекта эта ссылка отличается. Чтоб избежать необходимости каждый раз переписывать ссылку, рекомендуется использовать относительный адрес ссылки, например, '/filestorage/api/FileStorage/Db/get/' | Небольшое отступление: если используете ссылку на хранилище проекта, то, обычно, на разных схемах одного и того же проекта эта ссылка отличается. Чтоб избежать необходимости каждый раз переписывать ссылку, рекомендуется использовать относительный адрес ссылки, например, '/filestorage/api/FileStorage/Db/get/' | ||
+ | |||
+ | === Ссылка на объект репозитория как операнд === | ||
+ | |||
+ | Для использования метаобъекта в качестве операнда, можно воспользоваться следующим примером: | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | ||
+ | <div style="font-weight:bold;line-height:1.6;">ссылка на объект репозитория как операнд формулы гиперссылки</div> | ||
+ | <div class="mw-collapsible-content mw-collapsed-content"> | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | "hyperlinkOptions": { | ||
+ | "metaObjectSource": { | ||
+ | "formula": { | ||
+ | "expression": "if ([1] > 0, [2], null() )", | ||
+ | "operands": [ | ||
+ | { | ||
+ | "dictionaryId": 114, | ||
+ | "attribute": { | ||
+ | "discriminator": "OwnAttributeDefinitionDto", | ||
+ | "id": 1 | ||
+ | }, | ||
+ | "attributeId": 1, | ||
+ | "discriminator": "AttributeFormulaOperandDto", | ||
+ | "code": null, | ||
+ | "id": 1, | ||
+ | "name": null | ||
+ | }, | ||
+ | { | ||
+ | "metaObjectId": 117, | ||
+ | "discriminator": "MetaObjectFormulaOperandDto", | ||
+ | "code": null, | ||
+ | "id": 2, | ||
+ | "name": null | ||
+ | } | ||
+ | ], | ||
+ | "code": null, | ||
+ | "id": 1, | ||
+ | "name": null | ||
+ | }, | ||
+ | "discriminator": "FormulaValueSourceDto" | ||
+ | }, | ||
+ | "parameterSources": [ | ||
+ | { | ||
+ | "parameterId": 1, | ||
+ | "valueSource": { | ||
+ | "dictionaryAttribute": { | ||
+ | "dictionaryId": 114, | ||
+ | "attribute": { | ||
+ | "discriminator": "OwnAttributeDefinitionDto", | ||
+ | "id": 1 | ||
+ | } | ||
+ | }, | ||
+ | "discriminator": "AttributeValueSourceDto" | ||
+ | } | ||
+ | } | ||
+ | ], | ||
+ | "discriminator": "MetaObjectHyperlinkOptionsDto", | ||
+ | "openTarget": "SameWindow", | ||
+ | "refreshAfterModalWindow": false | ||
+ | }, | ||
+ | </syntaxhighlight> | ||
+ | </div></div> |
Текущая версия на 13:18, 16 января 2023
В пивотах существует возможность настраивать 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 можно устанавливать как постоянное значение, так и значение, вычисляемое по формуле.
Ссылка на объект репозитория в виде константы
Ссылка на объект репозитория в виде формулы
Типы источников значения параметра
Тип | Описание |
---|---|
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 "useFirstOrDefaultOperandValue": true,
24 "discriminator": "SimpleHyperlinkOptionsDto"
25 }
|
Поле | Описание |
---|---|
"formula" | Формула для формирования гиперссылки |
"openTarget" | Тип открытия ссылки (SameWindow, NewTab, FileDownload, ModalWindow) |
"useFirstOrDefaultOperandValue" | Использовать ли только единичное значение операнда формулы (по умолчанию false, true). Для работы с множественным значением, надо выставить true. |
Ссылка на веб-страницу
Для openTarget устанавливается тип ссылки - это может быть ссылка на веб-страницу, которая может открываться как в новой вкладке (NewTab), так и в текущем окне (SameWindow)
Ссылка на скачивание файла
Кроме этого, существует отдельный тип ссылки для скачивания файлов (FileDownload)
Небольшое отступление: если используете ссылку на хранилище проекта, то, обычно, на разных схемах одного и того же проекта эта ссылка отличается. Чтоб избежать необходимости каждый раз переписывать ссылку, рекомендуется использовать относительный адрес ссылки, например, '/filestorage/api/FileStorage/Db/get/'
Ссылка на объект репозитория как операнд
Для использования метаобъекта в качестве операнда, можно воспользоваться следующим примером: