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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
м (A.saydakova переименовал страницу Содержание/Формы/Источники данных в Платформа 3V/Формы/Источники данных поверх перенаправления)
 
(не показано 5 промежуточных версий этого же участника)
Строка 12: Строка 12:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Базовые свойства источников данных ==
+
== Типы источников ==
Все источники данных имеют свойства перечисленные ниже.
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Свойство !! Описание
+
! Тип источника !! discriminator
 
|-
 
|-
| id || Идентификатор источника данных
+
| [[Платформа_3V/Формы/Источники_данных/Справочник|'''Справочник''']] || DictionaryDataSource
 
|-
 
|-
| name || Наименование источника данных
+
| [[Платформа_3V/Формы/Источники_данных/Отчет|'''Отчет''']] || PivotDataSource
 
|-
 
|-
| isReadOnly|| Признак, что источник данных доступен только для чтения
+
| [[Платформа_3V/Формы/Источники_данных/Показатель|'''Показатель''']] || DataIndicatorDataSource
 
|-
 
|-
| dataEditRuleIds|| Коллекция идентификаторов правил [[Платформа_3V/Карточка/CardsDto/BinaryConditionRule|'''BinaryConditionRule''']], которые определяют доступность редактирования источника
+
| [[Платформа_3V/Формы/Источники_данных/Согласование|'''Согласование''']] || WorkflowDataSource
 
|-
 
|-
| beforeSaveDataActions|| Коллекция идентификаторов действий [[Платформа_3V/Карточка/CardsDto/Action|'''Action''']], которые выполняются перед сохранением источника данных
+
| [[Платформа_3V/Формы/Источники_данных/Представление_справочника|'''Представление справочника''']] || ViewDictionaryDataSource
 
|-
 
|-
| afterSaveDataActions|| Коллекция идентификаторов действий [[Платформа_3V/Карточка/CardsDto/Action|'''Action''']], которые выполняются после сохранения источника данных
+
| [[Платформа_3V/Формы/Источники_данных/Json|'''JSON''']] || JsonDataSource
 
|}
 
|}
  
== Источник данных на справочнике (DictionaryDataSource) ==
+
== Базовые свойства источников данных ==
<syntaxhighlight lang="JSON" line>
+
Все источники данных имеют свойства перечисленные ниже.
    {
 
      "id": 1,
 
      "name": "Источник на справочнике",
 
      "dictionaryId": 14040,
 
      "hierarchyId": null,
 
      "filter": [
 
        {
 
          "id": 1,
 
          "expressionId": 1,
 
          "value": 33
 
        }
 
      ],
 
      "sortingOptions": null,
 
      "groupingOptions": null,
 
      "dictionaryAttributes": null,
 
      "defaultValue": null,
 
      "defaultValueExpressionId": null,
 
      "parameterId": null,
 
      "dictionarySourceSelectionMode": "None",
 
      "dataSourceAttributesAdditionsSettings": null,
 
      "externalFileStorageUrl": null,
 
      "filePrefix": null,
 
      "discriminator": "DictionaryDataSource"
 
    }
 
</syntaxhighlight>
 
 
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Свойство !! Описание
 
! Свойство !! Описание
 
|-
 
|-
| dictionaryId || Идентификатор справочника (объект репозитория)
+
| id || Идентификатор источника данных
 
|-
 
|-
| hierarchyId || Идентификатор альтернативной иерархии справочника [[Платформа_3V/Карточка/DictionaryDto/DictionaryHierarchyDto|'''DictionaryHierarchyDto''']]
+
| name || Наименование источника данных
 
|-
 
|-
| filter || Фильтр справочника [[Платформа_3V/Карточка/CardsDto/DictionaryFilterDto|'''DictionaryFilterDto''']]
+
| isReadOnly|| Признак, что источник данных доступен только для чтения
 
|-
 
|-
| sortingOptions|| Настройки сортировки справочника [[Платформа_3V/Common/DictionaryDto/SortingOptionsDto|'''SortingOptionsDto''']]
+
| dataEditRuleIds|| Коллекция идентификаторов правил [[Платформа_3V/Карточка/CardsDto/BinaryConditionRule|'''BinaryConditionRule''']], которые определяют доступность редактирования источника
 
|-
 
|-
| groupingOptions|| Настройки группировки справочника [[Платформа_3V/Карточка/DictionaryDto/IDictionaryGroupingOptions|'''IDictionaryGroupingOptions''']]
+
| beforeSaveDataActions|| Коллекция идентификаторов действий [[Платформа_3V/Карточка/CardsDto/Action|'''Action''']], которые выполняются перед сохранением источника данных
 
|-
 
|-
| dictionaryAttributes|| Коллекция загружаемых атрибутов [[Платформа_3V/Карточка/DictionaryDto/AttributeDefinitionDto|'''AttributeDefinitionDto''']]
+
| afterSaveDataActions|| Коллекция идентификаторов действий [[Платформа_3V/Карточка/CardsDto/Action|'''Action''']], которые выполняются после сохранения источника данных
|-
 
| dictionarySourceSelectionMode|| Режим выставления отметки справочника при первом его открытии [[Платформа_3V/Карточка/Источники_данных#Режимы выставления отметки справочника при открытии справочника|'''DictionarySourceSelectionMode''']]
 
|-
 
| defaultValueExpressionId || Идентификатор выражения, результат которого будет использоваться как значение по умолчанию при соответствующем значении [[Платформа_3V/Карточка/Источники_данных#Режимы выставления отметки справочника при открытии справочника (DictionarySourceSelectionMode)|'''DictionarySourceSelectionMode''']] (DefaultValueByExpression , DefaultValueByExpressionOrSelectFirst )
 
|-
 
| parameterId || Идентификатор параметра, значения которого будут использоваться как значение по умолчанию при соответствующем значении [[Платформа_3V/Карточка/Источники_данных#Режимы выставления отметки справочника при открытии справочника (DictionarySourceSelectionMode)|'''DictionarySourceSelectionMode''']] (ParameterValue, ParameterValueOrSelectFirst)
 
|-
 
| defaultValue || Коллекция идентификаторов элементов справочника, которые будут использоваться как значение по умолчанию при соответствующем значении [[Платформа_3V/Карточка/Источники_данных#Режимы выставления отметки справочника при открытии справочника (DictionarySourceSelectionMode)|'''DictionarySourceSelectionMode''']] (DefaultValue, DefaultValueByExpressionOrSelectFirst)
 
|-
 
| dataSourceAttributesAdditionsSettings|| Коллекция дополнительных настроек для атрибутов справочника [[Платформа_3V/Карточка/CardsDto/DataSourceAttributesAdditionsSettings|'''DataSourceAttributesAdditionsSettings''']]
 
|-
 
| externalFileStorageUrl || Ссылка на внешнее хранилище файлов. Хранилище должно иметь апи на загрузку файлов через put "upload/fileName" и на получение через get "get/fileName".
 
|-
 
| filePrefix || Префикс для файлов, загружаемых в '''externalFileStorageUrl'''. Может использоваться для задания пути файла, например префикс "folder/" будет означать, что файлы будут складываться в папку "folder".
 
|}
 
 
 
=== Режимы выставления отметки справочника при открытии справочника (DictionarySourceSelectionMode) ===
 
 
 
{| class="wikitable"
 
|-
 
! Значение !! Описание
 
|-
 
| None (0) || -
 
|-
 
| SelectFirst (1) || Будет выбран первый элемент справочника
 
|-
 
| SelectAll (2) || Будут выбраны все элементы справочника
 
|-
 
| DefaultValue (3) || Будут выбраны элементы по умолчанию
 
|-
 
| ParameterValue (4) || Будут выбраны элементы по значению параметра
 
|-
 
| SelectAllEver (5) || Будут выбраны все элементы справочника, в отличии от SelectAll, при обновлении источника отметка сбрасывается всегда до полной, позволяет решить вопрос, когда при нескольких перестроений зависимых источников некоторые из элементов оказываются не выбраны
 
|-
 
| DefaultValueByExpression (6) || Будут выбраны элементы по результату вычисления выражения
 
|-
 
| DefaultValueOrSelectFirst (103) || Будут выбраны элементы по умолчанию или первый элемент
 
|-
 
| ParameterValueOrSelectFirst(104) || Будут выбраны элементы по значению параметра или первый элемент
 
|-
 
| DefaultValueByExpressionOrSelectFirst (106) || Будут выбраны элементы по результату вычисления выражения или первый элемент
 
|}
 
 
 
== Источник данных на отчете (PivotDataSource) ==
 
 
 
<syntaxhighlight lang="JSON" line>
 
    {
 
      "id": 1,
 
      "name": "Источник на отчёте",
 
      "pivotId": 14040,
 
      "parameters": [
 
      ...
 
      ],
 
      "discriminator": "PivotDataSource"
 
    }
 
</syntaxhighlight>
 
 
 
{| class="wikitable"
 
|-
 
! Свойство !! Описание
 
|-
 
| pivotId || Идентификатор отчёта (объект репозитория)
 
|-
 
| parameters || Коллекция параметров с которыми должен открываться отчёт [[Платформа_3V/Карточка/CardsDto/EntryExpressionParameterDto|'''EntryExpressionParameterDto''']]
 
|}
 
 
 
== Источник данных на показателе (DataIndicatorDataSource) ==
 
 
 
<syntaxhighlight lang="JSON" line>
 
    {
 
      "id": 1,
 
      "name": "Источник на показателе",
 
      "indicatorId": 14040,
 
      "selectionSetId": 1,
 
      "discriminator": "DataIndicatorDataSource"
 
    }
 
</syntaxhighlight>
 
 
 
{| class="wikitable"
 
|-
 
! Свойство !! Описание
 
|-
 
| indicatorId|| Идентификатор показателя (объект репозитория)
 
|-
 
| selectionSetId|| Идентификатор отметки [[Платформа_3V/Карточка/CardsDto/EntrySelectionSetDto|'''EntrySelectionSetDto''']] по которой будет открыт показатель
 
|}
 
 
 
== Источник данных на согласовании (WorkflowDataSource) ==
 
 
 
<syntaxhighlight lang="JSON" line>
 
    {
 
      "id": 1,
 
      "name": "Источник на согласовании",
 
      "workflowId": 14040,
 
      "parameters": [
 
        {
 
          "id": 1,
 
          "expressionId": 1,
 
          "value": 33
 
        }
 
      ],
 
      "stateChangeActions": [
 
        1
 
      ],
 
      "discriminator": "WorkflowDataSource"
 
    }
 
</syntaxhighlight>
 
 
 
{| class="wikitable"
 
|-
 
! Свойство !! Описание
 
|-
 
| workflowId || Идентификатор согласования (объект репозитория)
 
|-
 
| parameters || Коллекция параметров согласования [[Платформа_3V/Карточка/CardsDto/ValueParameter|'''ValueParameter''']]
 
|-
 
| stateChangeActions || Коллекция идентификаторов действий по условию [[Платформа_3V/Карточка/CardsDto/ConditionalAction|'''ConditionalAction''']], которые выполняются при изменении состояния согласования
 
|}
 
 
 
== Источник данных на Json (JsonDataSource) ==
 
 
 
<syntaxhighlight lang="JSON" line>
 
    {
 
      "id": 1,
 
      "name": "Источник на Json",
 
      "jsonExpressionId": 1, 
 
      "discriminator": "JsonDataSource"
 
    }
 
</syntaxhighlight>
 
 
 
{| class="wikitable"
 
|-
 
! Свойство !! Описание
 
|-
 
| jsonExpressionId || Идентификатор выражения [[Платформа_3V/Карточка/CardsDto/EntryExpressionDto|'''EntryExpressionDto''']] для вычисления/получения Json значения.
 
|}
 
 
 
== Источник данных на справочнике с возможностью фильтрации элементов (ViewDictionaryDataSource) ==
 
 
 
<syntaxhighlight lang="JSON" line>
 
    {
 
      "id": 1,
 
      "name": "Источник на справочнике",
 
      "dictionaryDataSourceId": 1, 
 
      "selectAllElements": false,
 
      "filters": [...],
 
      "useBaseDataSourceValue": false,
 
      "dataSourceAttributesAdditionsSettings": null,
 
      "discriminator": "ViewDictionaryDataSource"
 
    }
 
</syntaxhighlight>
 
 
 
{| class="wikitable"
 
|-
 
! Свойство !! Описание
 
|-
 
| dictionaryDataSourceId || Идентификатор базового источника данных на справочнике
 
|-
 
| selectAllElements|| Признак, что будут отмечены все элементы справочника
 
|-
 
| filters|| Коллекция фильтров [[Платформа_3V/Карточка/CardsDto/ViewDictionaryDataSourceBaseFilter|'''ViewDictionaryDataSourceBaseFilter''']]
 
|-
 
| useBaseDataSourceValue || Признак, что при построении инстанса значение будет формироваться на основе базового источника данных
 
|-
 
| dataSourceAttributesAdditionsSettings|| Коллекция дополнительных настроек для атрибутов справочника [[Платформа_3V/Карточка/CardsDto/DataSourceAttributesAdditionsSettings|'''DataSourceAttributesAdditionsSettings''']]
 
 
|}
 
|}

Текущая версия на 14:00, 21 апреля 2021


Все источники данных в серверной карточке описываются в коллекции entryDataSources.

1 {
2   ...
3   "entryDataSources": [
4     ...
5   ],
6   ...
7 }

Типы источников

Тип источника discriminator
Справочник DictionaryDataSource
Отчет PivotDataSource
Показатель DataIndicatorDataSource
Согласование WorkflowDataSource
Представление справочника ViewDictionaryDataSource
JSON JsonDataSource

Базовые свойства источников данных

Все источники данных имеют свойства перечисленные ниже.

Свойство Описание
id Идентификатор источника данных
name Наименование источника данных
isReadOnly Признак, что источник данных доступен только для чтения
dataEditRuleIds Коллекция идентификаторов правил BinaryConditionRule, которые определяют доступность редактирования источника
beforeSaveDataActions Коллекция идентификаторов действий Action, которые выполняются перед сохранением источника данных
afterSaveDataActions Коллекция идентификаторов действий Action, которые выполняются после сохранения источника данных