Платформа 3V/Формы/Источники данных/Отчет/Параметры/На значении выражения (EntryExpressionByExpression)

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Параметр, который возращает значение другого выражения, добавленного ранее в серверную карточку, имеет следующую структуру:

1 {
2 	"id": 1,
3 	"allowMultipleValues": false,
4 	"discriminator": "EntryExpressionByExpression",
5 	"expressionId": 1000
6 }

Описание свойств параметра

Свойство Описание
id Идентификатор параметра
allowMultipleValues Флаг об получении результата в виде коллекции значений (true/false)
discriminator EntryExpressionByExpression
expressionId Идентификатор выражения

Пример использования в качестве параметра отчета

При необходимости передать в качестве параметра отчета значение расчетного выражения, используется соответствующий параметр EntryExpressionByExpression

Кейс: Отчет отображает реестр компаний с типом "Публичное акционерное общество", перечень компаний приходит в параметр отчета (id=1) на основании справочника "Компании" без возможности менять перечень пользователем. Также должна учитываться фильтрация элементов по атр."Тип контрагента" (id=21) = "Публичное акционерное общество" (id=3). Также элемент управления отображает отфильтрованные компании без возможности изменения. Сформировать одно, единое выражение с помощью справочника - объекта репозитория (EntryExpressionByDictionaryRequestDto), которое будет использоваться для получения отметки в элементе управления, а также в параметре отчета

JSON серверной карточки
  1 {
  2 	"id": 123,
  3 	"title": "Использование в отчете параметра EntryExpressionByExpression",
  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 }