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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 6 промежуточных версий этого же участника)
Строка 4: Строка 4:
 
       "instanceId": 111,
 
       "instanceId": 111,
 
       "id": 111,
 
       "id": 111,
       "comment": "Ребилд справочника",
+
       "comment": "Обновление источника",
 
       "discriminator": "RebuildSourceInstanceAction"
 
       "discriminator": "RebuildSourceInstanceAction"
    },
+
},
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 24: Строка 24:
  
 
==Пример использования(обновление отчёта)==
 
==Пример использования(обновление отчёта)==
Кейс: Обновить отчёт, изменения, которого произошли после его сборки в карточке.
+
Кейс: Обновить отчёт, изменения которого произошли после его сборки в карточке.
  
Добавить действие, в котором указать [[Платформа_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>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON серверной карточки</div>
 
<div style="font-weight:bold;line-height:1.6;">JSON серверной карточки</div>
Строка 35: Строка 35:
 
{
 
{
 
   "id": 53,
 
   "id": 53,
   "name": "CalculateControlValueByDictionaryEntrySourceAction",
+
   "name": "RebuildSourceInstanceAction",
 
   "description": "",
 
   "description": "",
 
   "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": [],
Строка 79: Строка 48:
 
       "controlsValueCalculateRulesIds": [],
 
       "controlsValueCalculateRulesIds": [],
 
       "conditionalActions": [
 
       "conditionalActions": [
        111,
 
 
         222
 
         222
 
       ],
 
       ],
Строка 132: Строка 100:
 
     }
 
     }
 
   ],
 
   ],
   "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: Строка 121:
 
   "expressions": [],
 
   "expressions": [],
 
   "controlsValueCalculateRules": [],
 
   "controlsValueCalculateRules": [],
   "actions": [
+
   "actions": [  
    {
 
      "instanceId": 111,
 
      "id": 111,
 
      "comment": "Ребилд справочника",
 
      "discriminator": "RebuildSourceInstanceAction"
 
    },
 
 
     {
 
     {
 
       "instanceId": 222,
 
       "instanceId": 222,
Строка 191: Строка 130:
 
   ],
 
   ],
 
   "conditionActionIdsOnOpen": [],
 
   "conditionActionIdsOnOpen": [],
   "conditionalActions": [
+
   "conditionalActions": [  
    {
 
      "id": 111,
 
      "binaryConditionRuleId": null,
 
      "actions": [
 
        111
 
      ],
 
      "parallelRunning": false
 
    },
 
 
     {
 
     {
 
       "id": 222,
 
       "id": 222,
Строка 205: Строка 136:
 
       "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

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