Платформа 3V/Формы/Действия/Обновление источника: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 26: Строка 26:
 
Кейс: Обновить отчёт, изменения, которого произошли после его сборки в карточке.
 
Кейс: Обновить отчёт, изменения, которого произошли после его сборки в карточке.
  
Добавить действие, в котором указать [[Платформа_3V/Формы/Источники_данных|'''источник данных''']], который следует пересобрать и добавить это действие в [[Платформа_3V/Формы/Элементы_управления|'''элемент управления''']]. Вычисление происходит при нажатии кнопки.
+
Добавить действие, в котором указать [[Платформа_3V/Формы/Источники_данных|'''источник данных''']], который следует пересобрать. Вычисление происходит при нажатии кнопки.
 
[[Файл:обновление пивота.gif|мини|слева]]
 
[[Файл:обновление пивота.gif|мини|слева]]
 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
Строка 39: Строка 39:
 
   "title": "",
 
   "title": "",
 
   "entrySettings": null,
 
   "entrySettings": null,
   "uiSources": [
+
   "uiSources": [  
    {
 
      "dataSourceId": 111,
 
      "nameTemplate": "",
 
      "displayAttribute": null,
 
      "hasMultipleValue": false,
 
      "hasNullableValue": false,
 
      "maxElements": null,
 
      "hasServerFiltration": false,
 
      "searchSettings": {
 
        "maxElements": null,
 
        "minInputChars": 2,
 
        "searchMode": "Client",
 
        "debounceMs": 300
 
      },
 
      "id": 111,
 
      "caption": null,
 
      "enable": true,
 
      "visible": true,
 
      "hint": null,
 
      "uiDataSource": null,
 
      "doActionOnChangeValue": true,
 
      "onAfterChangeValueConditionalActions": null,
 
      "onAfterChangeValueByClientConditionalActions": null,
 
      "rebuildDependentsObjectOnChange": true,
 
      "enableRuleIds": [],
 
      "visibleRuleIds": [],
 
      "access": null,
 
      "isValueChanged": true,
 
      "expressionId": null,
 
      "discriminator": "DictionarySourceEntry"
 
    },
 
 
     {
 
     {
 
       "submitRuleIds": [],
 
       "submitRuleIds": [],
Строка 132: Строка 101:
 
     }
 
     }
 
   ],
 
   ],
   "entryDataSources": [
+
   "entryDataSources": [  
    {
 
      "dictionaryId": 50,
 
      "hierarchyId": null,
 
      "filter": null,
 
      "sortingOptions": null,
 
      "groupingOptions": null,
 
      "dictionaryAttributes": null,
 
      "defaultValue": [],
 
      "defaultValueExpressionId": null,
 
      "parameterId": null,
 
      "dictionarySourceSelectionMode": "None",
 
      "dataSourceAttributesAdditionsSettings": [],
 
      "externalFileStorageUrl": null,
 
      "filePrefix": null,
 
      "defaultNewElementSettings": null,
 
      "id": 111,
 
      "name": null,
 
      "isReadOnly": true,
 
      "dataEditRuleIds": [],
 
      "beforeSaveDataActions": [],
 
      "afterSaveDataActions": [],
 
      "discriminator": "DictionaryDataSource"
 
    },
 
 
     {
 
     {
 
       "pivotId": 54,
 
       "pivotId": 54,
Строка 176: Строка 122:
 
   "expressions": [],
 
   "expressions": [],
 
   "controlsValueCalculateRules": [],
 
   "controlsValueCalculateRules": [],
   "actions": [
+
   "actions": [  
    {
 
      "instanceId": 111,
 
      "id": 111,
 
      "comment": "Ребилд справочника",
 
      "discriminator": "RebuildSourceInstanceAction"
 
    },
 
 
     {
 
     {
 
       "instanceId": 222,
 
       "instanceId": 222,
Строка 191: Строка 131:
 
   ],
 
   ],
 
   "conditionActionIdsOnOpen": [],
 
   "conditionActionIdsOnOpen": [],
   "conditionalActions": [
+
   "conditionalActions": [  
    {
 
      "id": 111,
 
      "binaryConditionRuleId": null,
 
      "actions": [
 
        111
 
      ],
 
      "parallelRunning": false
 
    },
 
 
     {
 
     {
 
       "id": 222,
 
       "id": 222,
Строка 205: Строка 137:
 
       "actions": [
 
       "actions": [
 
         222
 
         222
      ],
 
      "parallelRunning": false
 
    }
 
  ],
 
  "selectionSets": [],
 
  "reportTemplates": [],
 
  "useNewDependenciesBuilder": null
 
}
 
</syntaxhighlight>
 
</div></div>
 
 
 
 
 
 
 
 
==Пример использования(выбор всех значений справочника)==
 
Кейс: Отметить все значения справочника.
 
 
Добавить действие, в котором указать "sourceType": "AllElementsIds" и вывести ее в [[Платформа_3V/Формы/Элементы_управления|'''элемент управления''']], где '''"hasMultipleValue"''':'''"true"'''. Вычисление происходит при нажатии кнопки.
 
 
[[Файл:выбор всех значений в источнике.gif|мини|слева]]
 
<br><br><br><br><br><br><br><br><br><br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON серверной карточки</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
{
 
  "id": 37,
 
  "name": "CalculateControlValueByDictionaryEntrySourceAction",
 
  "description": "",
 
  "title": "",
 
  "entrySettings": null,
 
  "uiSources": [
 
    {
 
      "discriminator": "DictionarySourceEntry",
 
      "attributeId": 0,
 
      "sourceType": "Dictionary",
 
      "dataType": "Integer",
 
      "dataSourceId": 111,
 
      "id": 111,
 
      "caption": "Наименование из примера",
 
      "enable": true,
 
      "hint": null,
 
      "sourceId": 0,
 
      "doActionOnChangeValue": false,
 
      "hasMultipleValue": true,
 
      "hasNullableValue": false
 
    },
 
    {
 
      "submitRuleIds": [],
 
      "actionConfirmation": {
 
        "message": null,
 
        "conditionId": null
 
      },
 
      "controlsValueCalculateRulesIds": [],
 
      "conditionalActions": [
 
        111
 
      ],
 
      "onBeforeClickConditionalActions": [],
 
      "id": 112,
 
      "caption": "Назначить всех",
 
      "enable": true,
 
      "visible": true,
 
      "hint": null,
 
      "uiDataSource": null,
 
      "doActionOnChangeValue": false,
 
      "onAfterChangeValueConditionalActions": null,
 
      "onAfterChangeValueByClientConditionalActions": null,
 
      "enableRuleIds": [],
 
      "visibleRuleIds": [],
 
      "access": {
 
        "read": {
 
          "roles": [],
 
          "inversion": false,
 
          "default": true
 
        },
 
        "edit": {
 
          "roles": [],
 
          "inversion": false,
 
          "default": true
 
        }
 
      },
 
      "isValueChanged": false,
 
      "expressionId": null,
 
      "discriminator": "CustomButtonEntry"
 
    }
 
  ],
 
  "entryDataSources": [
 
    {
 
      "discriminator": "DictionaryDataSource",
 
      "dictionaryId": 31,
 
      "filter": {
 
        "value": [
 
          1,
 
          2,
 
          3
 
        ],
 
        "attributeId": 1,
 
        "attribute": null,
 
        "conditionType": "AttributeInCollection",
 
        "inversion": false,
 
        "conditionId": null,
 
        "discriminator": "ValueConditionalDictionaryFilterDto"
 
      },
 
      "groupingOptions": null,
 
      "defaultValue": [],
 
      "dictionarySourceSelectionMode": "SelectAll",
 
      "id": 111,
 
      "name": "ExampleDict",
 
      "isReadOnly": true
 
    }
 
  ],
 
  "parameters": [],
 
  "binaryConditionsRules": [],
 
  "submitValidateRules": [],
 
  "expressions": [],
 
  "controlsValueCalculateRules": [],
 
  "actions": [
 
    {
 
      "dictionaryEntrySourceId": 111,
 
      "attributeId": 1,
 
      "value": [],
 
      "sourceType": "AllElementIds",
 
      "controlId": 111,
 
      "id": 111,
 
      "comment": "Выбор всех значений",
 
      "discriminator": "CalculateControlValueByDictionaryEntrySourceAction"
 
    }
 
  ],
 
  "conditionActionIdsOnOpen": [],
 
  "conditionalActions": [
 
    {
 
      "id": 111,
 
      "binaryConditionRuleId": null,
 
      "actions": [
 
        111
 
 
       ],
 
       ],
 
       "parallelRunning": false
 
       "parallelRunning": false

Версия 11:14, 22 апреля 2021

Действие, которое пересобирает элемент, основывающийся на источнике данных, имеет следующую структуру:

1 {
2       "instanceId": 111,
3       "id": 111,
4       "comment": "Ребилд справочника",
5       "discriminator": "RebuildSourceInstanceAction"
6     },

Описание свойств действия

Свойство Описание
instanceId Идентификатор источника данных
comment Описание действия
id Идентификатор действия
discriminator RebuildSourceInstanceAction

Пример использования(обновление отчёта)

Кейс: Обновить отчёт, изменения, которого произошли после его сборки в карточке.

Добавить действие, в котором указать источник данных, который следует пересобрать. Вычисление происходит при нажатии кнопки.

обновление пивота.gif
















JSON серверной карточки
  1 {
  2   "id": 53,
  3   "name": "CalculateControlValueByDictionaryEntrySourceAction",
  4   "description": "",
  5   "title": "",
  6   "entrySettings": null,
  7   "uiSources": [    
  8     {
  9       "submitRuleIds": [],
 10       "actionConfirmation": {
 11         "message": null,
 12         "conditionId": null
 13       },
 14       "controlsValueCalculateRulesIds": [],
 15       "conditionalActions": [
 16         111,
 17         222
 18       ],
 19       "onBeforeClickConditionalActions": [],
 20       "id": 112,
 21       "caption": "Сбросить",
 22       "enable": true,
 23       "visible": true,
 24       "hint": null,
 25       "uiDataSource": null,
 26       "doActionOnChangeValue": false,
 27       "onAfterChangeValueConditionalActions": null,
 28       "onAfterChangeValueByClientConditionalActions": null,
 29       "enableRuleIds": [],
 30       "visibleRuleIds": [],
 31       "access": {
 32         "read": {
 33           "roles": [],
 34           "inversion": false,
 35           "default": true
 36         },
 37         "edit": {
 38           "roles": [],
 39           "inversion": false,
 40           "default": true
 41         }
 42       },
 43       "isValueChanged": false,
 44       "expressionId": null,
 45       "discriminator": "CustomButtonEntry"
 46     },
 47     {
 48       "pivotSourceId": 222,
 49       "doActionOnChangeFocusedCell": true,
 50       "doActionOnChangeCellValue": false,
 51       "id": 222,
 52       "caption": null,
 53       "enable": false,
 54       "visible": true,
 55       "hint": null,
 56       "uiDataSource": null,
 57       "doActionOnChangeValue": false,
 58       "onAfterChangeValueConditionalActions": null,
 59       "onAfterChangeValueByClientConditionalActions": null,
 60       "rebuildDependentsObjectOnChange": true,
 61       "enableRuleIds": [],
 62       "visibleRuleIds": [],
 63       "access": null,
 64       "isValueChanged": false,
 65       "expressionId": null,
 66       "discriminator": "PivotSourceEntry"
 67     }
 68   ],
 69   "entryDataSources": [    
 70     {
 71       "pivotId": 54,
 72       "parameters": [],
 73       "focusOnFirstCell": true,
 74       "doActionOnChangeFocusedCell": true,
 75       "doActionOnChangeCellValue": true,
 76       "id": 222,
 77       "name": null,
 78       "isReadOnly": true,
 79       "dataEditRuleIds": [],
 80       "beforeSaveDataActions": [],
 81       "afterSaveDataActions": [],
 82       "discriminator": "PivotDataSource"
 83     }
 84   ],
 85   "parameters": [],
 86   "binaryConditionsRules": [],
 87   "submitValidateRules": [],
 88   "expressions": [],
 89   "controlsValueCalculateRules": [],
 90   "actions": [    
 91     {
 92       "instanceId": 222,
 93       "id": 222,
 94       "comment": "Ребилд пивота",
 95       "discriminator": "RebuildSourceInstanceAction"
 96     }
 97   ],
 98   "conditionActionIdsOnOpen": [],
 99   "conditionalActions": [    
100     {
101       "id": 222,
102       "binaryConditionRuleId": null,
103       "actions": [
104         222
105       ],
106       "parallelRunning": false
107     }
108   ],
109   "selectionSets": [],
110   "reportTemplates": [],
111   "useNewDependenciesBuilder": null
112 }