Платформа 3V/Формы/Источники данных/Справочник/Установка значений атрибутов по умолчанию

Материал из 3v-wiki
< Платформа 3V‎ | Формы‎ | Источники данных‎ | Справочник
Версия от 07:43, 4 апреля 2022; A.saydakova (обсуждение | вклад) (Новая страница: «== Описание == Для того чтобы при открытии формы у атрибутов справочника задавались значе...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Описание

Для того чтобы при открытии формы у атрибутов справочника задавались значения по умолчанию, в источнике (DictionaryDataSource ) необходимо прописать defaultNewElementSettings и прописать условия заполнения атрибутов:

"entryDataSources": {}
 1  "defaultNewElementSettings": {
 2           "defaultValues": [
 3           {
 4             "attributeId": 2,
 5             "value": "Новый объект",
 6             "expressionId": null
 7           },    
 8           {
 9             "attributeId": 3,
10             "value": null,
11             "expressionId": 1001
12           }
13         ],
14         "saveElementOnInitialize": true,
15         "conditionExpressionId": 100
16       },
Поле Описание
defaultValues Значения атрибутов, которые присваиваются новому элементу
defaultValues.attributeId Идентификатор атрибута, которому требуется задать значение по умолчанию
defaultValues.value Статичное значение атрибута
defaultValues.expressionId Идентификатор выражения, с помощью которого будет вычисляться значение по умолчанию
saveElementOnInitialize Сохранять элемент при открытии формы
conditionExpressionId Идентификатор выражения с условием, при выполнении которого необходимо создавать новый элемент

Важно! атрибуты, которым заданы значения по умолчанию обязательно должны быть добавлены на форму, в ином случае значение по умолчанию проставлено не будет

Особенности использования

Новому элементу можно сразу при создании присвоить дефолтые значения атрибутов. Эти значения могут быть константой либо вычислены в expression. Но есть одно ограничение: этот метод не сможет подставить значение из других справочников, т.к. он срабатывает ДО построения источников


JSON серверной карточки
  1 {
  2   "id": 1,
  3   "name": "Создание элемента справочника",
  4   "description": null,
  5   "ConditionActionIdsOnOpen": [],
  6   "uiSources": [
  7     {
  8       "defaultValue": null,
  9       "value": null,
 10       "id": 105,
 11       "hasMultipleValue": false,
 12       "caption": "Справочник",
 13       "enable": true,
 14       "visible": true,
 15       "dataSourceId": 105,
 16       "hint": null,
 17       "uiDataSource": {
 18         "attributeId": 1,
 19         "sourceId": 105,
 20         "discriminator": "UiDataSourceDictionary"
 21       },
 22       "doActionOnChangeValue": true,
 23       "onAfterChangeValueConditionalActions": null,
 24       "onAfterChangeValueByClientConditionalActions": [],
 25       "enableRuleIds": [],
 26       "visibleRuleIds": [],
 27       "access": {
 28         "read": {
 29           "roles": [],
 30           "inversion": false,
 31           "default": true
 32         },
 33         "edit": {
 34           "roles": [],
 35           "inversion": false,
 36           "default": true
 37         }
 38       },
 39       "isValueChanged": false,
 40       "expressionId": null,
 41       "discriminator": "DictionarySourceEntry"
 42     }
 43   ],
 44   "entryDataSources": [
 45     {
 46       "discriminator": "DictionaryDataSource",
 47       "dictionaryId": 105,
 48       "filter": null,
 49       "dictionarySourceSelectionMode": "None",
 50       "id": 105,
 51       "name": "Справочник",
 52       "isReadOnly": false,
 53       "defaultNewElementSettings": {
 54         "createElementConditionId": 111100,
 55         "defaultValues": [
 56           {
 57             "attributeId": 2,
 58             "value": "Новый объект1",
 59             "expressionId": null
 60           },
 61           {
 62             "attributeId": 21,
 63             "value": null,
 64             "expressionId": 3001
 65           }
 66         ],
 67         "saveElementOnInitialize": true
 68       }
 69     }
 70   ],
 71   "parameters": [
 72     {
 73       "id": 1,
 74       "name": "Элемент справочника",
 75       "defaultValue": []
 76     }
 77   ],
 78   "binaryConditionsRules": [
 79     {
 80       "id": 111100,
 81       "binaryCondition": {
 82         "expressionId": 111100,
 83         "value": null,
 84         "conditionType": "ValueIsNotNull",
 85         "inversion": true,
 86         "discriminator": "BinaryConditionExpressionOperand"
 87       }
 88     }
 89   ],
 90   "SubmitValidateRules": [],
 91   "expressions": [
 92     {
 93       "id": 3001,
 94       "expression": "Now()",
 95       "returnFirstParameterValue": true,
 96       "parameters": [],
 97       "comment": "Текущая дата"
 98     },
 99     {
100       "id": 111100,
101       "expression": null,
102       "returnFirstParameterValue": true,
103       "parameters": [
104         {
105           "parameterId": 1,
106           "id": 0,
107           "allowMultipleValues": false,
108           "discriminator": "EntryExpressionCardParameterDto"
109         }
110       ],
111       "comment": "Возвращает значение параметр карточки [1]"
112     }
113   ],
114   "actions": [],
115   "conditionalActions": [],
116   "selectionSets": []
117 }