Платформа 3V/Формы/Источники данных/Отчет/Параметры/На значении выражения (EntryExpressionByExpression)
Параметр, который возращает значение другого выражения, добавленного ранее в серверную карточку, имеет следующую структуру:
1 {
2 "id": 1,
3 "allowMultipleValues": false,
4 "discriminator": "EntryExpressionByExpressionDto",
5 "expressionId": 1000
6 }
Описание свойств параметра
Свойство | Описание |
---|---|
id | Идентификатор параметра |
allowMultipleValues | Флаг об получении результата в виде коллекции значений (true/false) |
discriminator | EntryExpressionByExpressionDto |
expressionId | Идентификатор выражения |
Пример использования в качестве параметра выражения
При необходимости вычисления некоторого выражения на основании значения вычисленного с помощью другого выражения, добавленного ранее, используется соответствующий параметр EntryExpressionByExpressionDto
Кейс: Собрать строковый элемент управления, в котором будет отображаться "Договоры:" + "Наименования договоров"
"Наименования договоров" собрать из наименований договоров, которые выбраны пользователем в соответствующем элементе управления на справочнике "Договоры" (использовать для этого отдельное выражение на расчет строки с перечнем наименований договоров с помощью выражения на источнике карточки - справочнике (EntryExpressionDictionarySourceParameterDto))
И в отдельном выражении добавить перечню договоров фразу "Договоры:"
1 {
2 "id": 123,
3 "name": "Использование в выражении параметра EntryExpressionByExpressionDto",
4 "description": null,
5 "title": null,
6 "entrySettings": null,
7 "uiSources": [
8 {
9 "dataSourceId": 100,
10 "nameTemplate": "",
11 "displayAttribute": null,
12 "hasMultipleValue": true,
13 "hasNullableValue": false,
14 "maxElements": null,
15 "hasServerFiltration": false,
16 "searchSettings": {
17 "maxElements": null,
18 "minInputChars": 2,
19 "searchMode": "Client",
20 "debounceMs": 300
21 },
22 "id": 1,
23 "caption": "Выпадающий список договоров",
24 "enable": true,
25 "visible": true,
26 "hint": null,
27 "doActionOnChangeValue": true,
28 "onAfterChangeValueConditionalActions": null,
29 "onAfterChangeValueByClientConditionalActions": null,
30 "rebuildDependentsObjectOnChange": true,
31 "enableRuleIds": [],
32 "visibleRuleIds": [],
33 "access": null,
34 "isValueChanged": false,
35 "expressionId": null,
36 "discriminator": "DictionarySourceEntry"
37 },
38 {
39 "trimSpaces": false,
40 "defaultValue": null,
41 "value": null,
42 "id": 2,
43 "caption": "Договоры: 'Наименования договоров' (строка)",
44 "enable": true,
45 "visible": true,
46 "hint": null,
47 "doActionOnChangeValue": false,
48 "onAfterChangeValueConditionalActions": null,
49 "onAfterChangeValueByClientConditionalActions": null,
50 "rebuildDependentsObjectOnChange": true,
51 "enableRuleIds": [],
52 "visibleRuleIds": [],
53 "access": null,
54 "isValueChanged": false,
55 "expressionId": 1001,
56 "discriminator": "StringSourceEntry"
57 }
58 ],
59 "entryDataSources": [
60 {
61 "dictionaryId": 38238,
62 "hierarchyId": null,
63 "filter": null,
64 "sortingOptions": null,
65 "groupingOptions": null,
66 "dictionaryAttributes": null,
67 "defaultValueExpressionId": null,
68 "parameterId": null,
69 "dictionarySourceSelectionMode": "None",
70 "dataSourceAttributesAdditionsSettings": [],
71 "externalFileStorageUrl": null,
72 "filePrefix": null,
73 "defaultNewElementSettings": null,
74 "id": 100,
75 "name": "Договоры",
76 "isReadOnly": true,
77 "dataEditRuleIds": [],
78 "beforeSaveDataActions": [],
79 "afterSaveDataActions": [],
80 "discriminator": "DictionaryDataSource"
81 }
82 ],
83 "parameters": [],
84 "binaryConditionsRules": [],
85 "submitValidateRules": [],
86 "expressions": [
87 {
88 "id": 1000,
89 "expression": "Concatenate(', ', [1])",
90 "returnFirstParameterValue": false,
91 "parameters": [
92 {
93 "id": 1,
94 "allowMultipleValues": true,
95 "discriminator": "EntryExpressionDictionarySourceParameterDto",
96 "dictionarySourceId": 100,
97 "attributeId": 2,
98 "getFirstElementValue": false,
99 "useAllInstanceElements": false
100 }
101 ],
102 "comment": "Получение строки с перечнем наименований выбранных пользователем договоров"
103 },
104 {
105 "id": 1001,
106 "expression": "'Договоры: '+ [1]",
107 "returnFirstParameterValue": false,
108 "parameters": [
109 {
110 "id": 1,
111 "allowMultipleValues": false,
112 "discriminator": "EntryExpressionByExpressionDto",
113 "expressionId": 1000
114 }
115 ],
116 "comment": "Добавление к перечню наименований 'Договоры:'"
117 }
118 ],
119 "controlsValueCalculateRules": [],
120 "actions": [],
121 "conditionActionIdsOnOpen": [],
122 "conditionalActions": [],
123 "selectionSets": [],
124 "reportTemplates": [],
125 "useNewDependenciesBuilder": null
126 }
Пример использования в качестве параметра отчета
При необходимости передать в качестве параметра отчета значение расчетного выражения, используется соответствующий параметр EntryExpressionByExpressionDto
Кейс: Отчет отображает реестр компаний с типом "Публичное акционерное общество", перечень компаний приходит в параметр отчета (id=1) на основании справочника "Компании" без возможности менять перечень пользователем. Также должна учитываться фильтрация элементов по атр."Тип контрагента" (id=21) = "Публичное акционерное общество" (id=3). Также элемент управления отображает отфильтрованные компании без возможности изменения. Сформировать одно, единое выражение с помощью справочника - объекта репозитория (EntryExpressionByDictionaryRequestDto), которое будет использоваться для получения отметки в элементе управления, а также в параметре отчета
1 {
2 "id": 123,
3 "title": "Использование в отчете параметра EntryExpressionByExpressionDto",
4 "description": "",
5 "uiSources": [
6 {
7 "dataSourceId": 100,
8 "nameTemplate": "",
9 "displayAttribute": null,
10 "hasMultipleValue": true,
11 "hasNullableValue": false,
12 "maxElements": null,
13 "hasServerFiltration": false,
14 "id": 1,
15 "caption": "Выпадающий список ПАО",
16 "enable": false,
17 "visible": true,
18 "hint": null,
19 "doActionOnChangeValue": false,
20 "onAfterChangeValueConditionalActions": null,
21 "onAfterChangeValueByClientConditionalActions": null,
22 "rebuildDependentsObjectOnChange": true,
23 "enableRuleIds": [],
24 "visibleRuleIds": [],
25 "access": null,
26 "isValueChanged": false,
27 "expressionId": 1000,
28 "discriminator": "DictionarySourceEntry"
29 },
30 {
31 "pivotSourceId": 101,
32 "doActionOnChangeFocusedCell": false,
33 "doActionOnChangeCellValue": false,
34 "id": 2,
35 "caption": null,
36 "enable": false,
37 "visible": true,
38 "hint": null,
39 "caption": "Реестр ПАО",
40 "uiDataSource": null,
41 "doActionOnChangeValue": false,
42 "onAfterChangeValueConditionalActions": null,
43 "onAfterChangeValueByClientConditionalActions": null,
44 "rebuildDependentsObjectOnChange": true,
45 "enableRuleIds": [],
46 "visibleRuleIds": [],
47 "access": null,
48 "isValueChanged": false,
49 "expressionId": null,
50 "discriminator": "PivotSourceEntry"
51 }
52 ],
53 "entryDataSources": [
54 {
55 "dictionaryId": 536,
56 "hierarchyId": null,
57 "filter": null,
58 "sortingOptions": null,
59 "groupingOptions": null,
60 "dictionaryAttributes": null,
61 "defaultValueExpressionId": null,
62 "parameterId": null,
63 "dictionarySourceSelectionMode": "None",
64 "dataSourceAttributesAdditionsSettings": [],
65 "externalFileStorageUrl": null,
66 "filePrefix": null,
67 "defaultNewElementSettings": null,
68 "id": 100,
69 "name": "Компании",
70 "isReadOnly": true,
71 "dataEditRuleIds": [],
72 "beforeSaveDataActions": [],
73 "afterSaveDataActions": [],
74 "discriminator": "DictionaryDataSource"
75 },
76 {
77 "pivotId": 31000,
78 "parameters": [
79 {
80 "id": 1,
81 "allowMultipleValues": true,
82 "discriminator": "EntryExpressionByExpressionDto",
83 "expressionId": 1000
84 }
85 ],
86 "focusOnFirstCell": true,
87 "id": 101,
88 "name": "Отчетная информация компаний. Параметр отчета на выражении",
89 "isReadOnly": true,
90 "dataEditRuleIds": [],
91 "beforeSaveDataActions": [],
92 "afterSaveDataActions": [],
93 "discriminator": "PivotDataSource"
94 }
95 ],
96 "parameters": [],
97 "binaryConditionsRules": [],
98 "expressions": [
99 {
100 "id": 1000,
101 "expression": "[1]",
102 "returnFirstParameterValue": false,
103 "parameters": [
104 {
105 "id": 1,
106 "allowMultipleValues": true,
107 "discriminator": "EntryExpressionByDictionaryRequestDto",
108 "dictionaryId": 536,
109 "attributeId": 1,
110 "filter": {
111 "value": [
112 3
113 ],
114 "attributeId": 21,
115 "conditionType": "AttributeInCollection",
116 "inversion": false,
117 "conditionId": null,
118 "discriminator": "ValueConditionalDictionaryFilterDto"
119 }
120 }
121 ],
122 "comment": "Вычисление компаний с типом ПАО"
123 }
124 ],
125 "actions": [],
126 "conditionalActions": [],
127 "conditionActionIdsOnOpen": []
128 }