Платформа 3V/Формы/Источники данных/Отчет/Параметры/На справочнике - объекте репозитория (EntryExpressionByDictionaryRequestDto)
Параметр, который возращает коллекцию атрибутов элементов справочника - объекта репозитория, который может не являться источником серверной карточки. Позволяет использовать справочники только в момент обращения к нему (по действиям на кнопку или вычислению выражений), а не постоянно загружать и обновлять, как при использовании в качестве источника карточки. Параметр имеет следующую структуру:
1 {
2 "id": 1,
3 "allowMultipleValues": false,
4 "discriminator": "EntryExpressionByDictionaryRequestDto",
5 "dictionaryId": 536,
6 "attributeId": 1,
7 "filter": {
8 ...
9 }
10 }
Описание свойств параметра
Свойство | Описание |
---|---|
id | Идентификатор параметра |
allowMultipleValues | Флаг об получении результата в виде коллекции значений (true/false) |
discriminator | EntryExpressionByDictionaryRequestDto |
dictionaryId | Идентификатор справочника - объекта репозитория |
attributeId | Идентификатор атрибута используемого справочника |
filter | Фильтры, которые буду применяться для выборки из справочника |
Пример использования в качестве параметра выражения
При необходимости вычисления некоторого выражения на основании справочника - объекта репозитория, используется соответствующий параметр EntryExpressionByDictionaryRequestDto
Кейс: Собрать строковый элемент управления "Наименования договоров (строка)" из наименований договоров c типом "Договор купли-продажи" (фильтр по атрибуту "Тип договора"(id=21) = 3), которые есть в справочнике "Договоры" (id=536) без добавления источника в карточку
1 {
2 "id": 123,
3 "name": "Использование в выражении параметра EntryExpressionByDictionaryRequestDto",
4 "description": null,
5 "title": null,
6 "entrySettings": null,
7 "uiSources": [],
8 "entryDataSources": [],
9 "parameters": [],
10 "binaryConditionsRules": [],
11 "submitValidateRules": [],
12 "expressions": [
13 {
14 "id": 1002,
15 "expression": "Concatenate(', ', [1])",
16 "returnFirstParameterValue": false,
17 "parameters": [
18 {
19 "id": 1,
20 "allowMultipleValues": true,
21 "discriminator": "EntryExpressionByDictionaryRequestDto",
22 "dictionaryId": 536,
23 "attributeId": 2,
24 "filter": {
25 "value": [
26 3
27 ],
28 "attributeId": 21,
29 "attribute": null,
30 "conditionType": "AttributeInCollection",
31 "inversion": false,
32 "conditionId": null,
33 "discriminator": "ValueConditionalDictionaryFilterDto"
34 }
35 }
36 ]
37 }
38 ],
39 "controlsValueCalculateRules": [],
40 "actions": [],
41 "conditionActionIdsOnOpen": [],
42 "conditionalActions": [],
43 "selectionSets": [],
44 "reportTemplates": [],
45 "useNewDependenciesBuilder": null
46 }
Пример использования в качестве параметра отчета
При необходимости передать в качестве параметра отчета элементы справочника - объекта репозитория без добавления источника, используется соответствующий параметр EntryExpressionByDictionaryRequestDto
Кейс: Отчет отображает реестр компаний с типом "Публичное акционерное общество", перечень компаний приходит в параметр отчета (id=1) на основании справочника "Компании" без возможности менять перечень пользователем. Также должна учитываться фильтрация элементов по атр."Тип контрагента" (id=21) = "Публичное акционерное общество" (id=3).
1 {
2 "id": 123,
3 "title": "Использование в отчете параметра EntryExpressionByDictionaryRequestDto",
4 "description": "",
5 "uiSources": [
6 {
7 "pivotSourceId": 101,
8 "doActionOnChangeFocusedCell": false,
9 "doActionOnChangeCellValue": false,
10 "id": 1,
11 "caption": null,
12 "enable": false,
13 "visible": true,
14 "hint": null,
15 "caption": "Реестр ПАО",
16 "uiDataSource": null,
17 "doActionOnChangeValue": false,
18 "onAfterChangeValueConditionalActions": null,
19 "onAfterChangeValueByClientConditionalActions": null,
20 "rebuildDependentsObjectOnChange": true,
21 "enableRuleIds": [],
22 "visibleRuleIds": [],
23 "access": null,
24 "isValueChanged": false,
25 "expressionId": null,
26 "discriminator": "PivotSourceEntry"
27 }
28 ],
29 "entryDataSources": [
30 {
31 "pivotId": 31000,
32 "parameters": [
33 {
34 "id": 1,
35 "allowMultipleValues": true,
36 "discriminator": "EntryExpressionByDictionaryRequestDto",
37 "dictionaryId": 536,
38 "attributeId": 1,
39 "filter": {
40 "value": [
41 3
42 ],
43 "attributeId": 21,
44 "conditionType": "AttributeInCollection",
45 "inversion": false,
46 "conditionId": null,
47 "discriminator": "ValueConditionalDictionaryFilterDto"
48 }
49 }
50 ],
51 "focusOnFirstCell": true,
52 "id": 101,
53 "name": "Реестр ПАО",
54 "isReadOnly": true,
55 "dataEditRuleIds": [],
56 "beforeSaveDataActions": [],
57 "afterSaveDataActions": [],
58 "discriminator": "PivotDataSource"
59 }
60 ],
61 "parameters": [],
62 "binaryConditionsRules": [],
63 "expressions": [],
64 "actions": [],
65 "conditionalActions": [],
66 "conditionActionIdsOnOpen": []
67 }