ConvertDataConnection

Преобразующее загружающее соединение с данными; получает данные из другого загружающего соединения с данными и фильтрует их.

Шаблон ConvertDataConnection

<DataConnection Name="" Type="ConvertDataConnection" Assembly="WorkflowServer">
  <SourceDataConnection Name="" Query=""/>
  <ManualRefresh></ManualRefresh>
  <Fields>
    <Field Name="" Field=""/>
    <Field Field="" Type="Object">
      <Field Name="" />
    </Field>
    <Field Name="" Type="SubField" SubField="" Field=""/>
    <Field Name="" Field="" Type="Array">
      <Field Name="" />
    </Field>
    <Field Name="" Type="Value" DataType=""></Field>
    <Field Name="" Type="Format"></Field>
    <Field Name="" Type="Substitution" Field=""></Field>
    <Field Name="" Type="Replace" Field=""></Field>
    <Field Name="" Type="Action" Field=""></Field>
    <Field Name="" Type="TemplateFormat" Evaluate=""></Field>
  </Fields>
  <Filter>
    <And RefreshFilter="">
      <Or RefreshFilter="">
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled>True</Enabled>
        </Filter>
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled>True</Enabled>
        </Filter>
      </Or>
      <Not RefreshFilter="">
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled>True</Enabled>
        </Filter>
      </Not>
    </And>
  </Filter>
</DataConnection>

Описание ConvertDataConnection

<DataConnection Name="ConvertDataConnectionName" Type="ConvertDataConnection" Assembly="DataConnections">
  <!--Тэги, специфичные для ConvertDataConnection-->
</DataConnection>

Тэги, специфичные для ConvertDataConnection

SourceDataConnection

Соединение с данными, данные которого будут преобразованы и отфильтрованы.

Обязательный тэг. Значение тэга <SourceDataConnection>: не ожидается.

<SourceDataConnection Name="SourceDataConnectionName" Query="SqlQueryName" />

Атрибуты тэга <SourceDataConnection>

ManualRefresh

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

Необязательный тэг. Ожидается логическое значение.

По умолчанию используется значение True.

<ManualRefresh>True</ManualRefresh>

Fields

Список селекторов для выбора данных из соединения с данными.

Обязательный тэг. Значение тэга <Fields>: список тэгов <Field>.

Селекторы последовательно (в порядке объявления) преобразуют каждую строку исходного соединения с данными в результат соединения с данными.

На данный момент реализованы следующие селекторы:

  1. Поле соединения с данными (Field);

  2. Поля объекта (Object);

  3. Вложенное поле объекта (SubField);

  4. Соединение массивов объектов (Array);

  5. Значение (Value);

  6. Форматирование строки (Format);

  7. Подстановка значений (Substitution);

  8. Замена значений (Replace);

  9. Работа с массивами (Action);

  10. Форматирование строки по шаблону (TemplateFormat).

<Fields>
  <Field Name="FieldName" Field="SourceFieldName"/>
  <Field Field="FieldName" Type="Object">
    <Field Name="SubFieldName" />
  </Field>
  <Field Name="FieldName" Type="SubField" Field="FieldName" SubField="SubFieldName"/>
  <Field Name="FieldName" Field="FieldName" Type="Array">
    <Field Name="FieldName" />
  </Field>
  <Field Name="FieldName" Type="Value" DataType="StringDataType">Value</Field>
  <Field Name="FieldName" Type="Format">{FieldName}</Field>
  <Field Name="FieldName" Type="Substitution" Field="FieldName"></Field>
  <Field Name="FieldName" Type="Replace" Field="FieldName"></Field>
  <Field Name="FieldName" Type="Action" Field="FieldName">Array Operations</Field>
  <Field Name="FieldName" Type="TemplateFormat" Evaluate="True">Template</Field>
</Fields>

Тэг <Field>

Селектор значения строки.

Необязательный тэг.

Атрибуты тэга <Field>, общие для всех селекторов

Filter

Фильтр полученных данных.

Необязательный тэг. Значение тэга <Filter>: список тэгов <And>, <Or> и <Not> или тэги <Field>, <Value>, <DataType> и <Enabled>.

<Filter>
  <And RefreshFilter="True">
    <Or RefreshFilter="True">
      <Filter Type="Equal" FilterByNullValue="True" RefreshFilter="True" Reverse="True">
        <Field NativeName="FieldName1" />
        <Value>Value</Value>
        <DataType Type="DataTypeName" />
        <Enabled>True</Enabled>
      </Filter>
      <Filter Type="Equal" FilterByNullValue="True" RefreshFilter="True" Reverse="True">
        <Field NativeName="FieldName2" />
        <Value>Value</Value>
        <Enabled>True</Enabled>
      </Filter>
    </Or>
    <Not RefreshFilter="True">
      <Filter Type="Equal" FilterByNullValue="True" RefreshFilter="True" Reverse="True">
        <Field NativeName="FieldName3" />
        <Value>Value</Value>
        <DataType Type="DataTypeName" />
        <Enabled>True</Enabled>
      </Filter>
    </Not>
  </And>
</Filter>

Атрибуты тэга <Filter>

Типы сравнения значений

Тэг <And>

Логическое умножение нескольких фильтров.

Необязательный тэг. Значение тэга <And>: список тэгов <Filter>, <And>, <Or> и <Not>.

Атрибуты тэга <And>

Тэг <Or>

Логическое сложение нескольких фильтров.

Необязательный тэг. Значение тэга <Or>: список тэгов <Filter>, <And>, <Or> и <Not>.

Атрибуты тэга <Or>

Тэг <Not>

Логическое отрицание одного фильтра.

Необязательный тэг. Значение тэга <Not>: тэг <Filter>, <And>, <Or> или <Not>.

Атрибуты тэга <Not>

Тэг <Field>

Поле, по значению которого полученные данные фильтруются.

Обязательный тэг. Значение тэга <Field>: не ожидается.

Атрибуты тэга <Field>

Тэг <Value>

Значение, по которому полученные данные фильтруются.

Обязательный тэг. Ожидается любое значение.

Тэг <DataType>

Тип данных, к которому приводятся сравниваемые значения.

Необязательный тэг. Значение тэга <DataType>: не ожидается.

Если тэг <DataType> отсутствует, то для атрибута Type используется значение StringDataType.

Атрибуты тэга <DataType>

Тэг <Enabled>

Признак, определяющий, будет ли использоваться данный фильтр.

Необязательный тэг. Ожидается логическое значение.

Список селекторов

Поле соединения с данными (Field)

Селектор поля соединения с данными.

Значение тэга <Field>: не ожидается.

<Field Name="FieldName" Field="SourceFieldName"/>

Атрибуты тэга <Field>, специфичные для селектора Field

Поля объекта (Object)

Селектор полей объекта. В результиующую таблицу будут добавлены поля вложенных селекторов.

Значение тэга <Field>: список тэгов <Field>.

<Field Field="FieldName" Type="Object">
  <Field Name="SubFieldName" />
</Field>

Поле исходного соединения должно быть словарём.

Атрибуты тэга <Field>, специфичные для селектора Object

Вложенное поле объекта (SubField)

Селектор вложенного поля.

В результат добавится значение поля вложенного объекта. Является короткой версий селектора полей объекта.

Значение тэга <Field>: не ожидается.

<Field Name="FieldName" Type="SubField" Field="FieldName" SubField="SubFieldName"/>

Поле исходного соединения должно быть словарём.

Атрибуты тэга <Field>, специфичные для селектора SubField

Соединение массивов объектов (Array)

Селектор соединения массива объектов.

Может содержать любые селекторы. В результиующую таблицу будут добавлены поля вложенных селекторов.

Значение тэга <Field>: список тэгов <Field>.

<Field Name="FieldName" Field="FieldName" Type="Array">
  <Field Name="FieldName" />
</Field>

Поле исходного соединения должно быть словарём.

Атрибуты тэга <Field>, специфичные для селектора Array

Значение (Value)

Селектор значения.

Добавляет в результат столбец с заданным значением.

Значение тэга <Field>: любое значение.

<Field Name="FieldName" Type="Value" DataType="StringDataType">Value</Field>

Атрибуты тэга <Field>, специфичные для селектора Value

Форматирование строки (Format)

Селектор форматирования строки.

Добавляет в результат столбец с результатом форматирования полей исходного соединения с данными.

Значение тэга <Field>: строка с форматом. В строке можно использовать значения полей в фигурных скобках - {FieldName}.

<Field Name="FieldName" Type="Format">{FieldName}</Field>

Атрибуты тэга <Field>, специфичные для селектора Format

Подстановка значений (Substitution)

Селектор подстановки значений.

Добавляет в результат значение выбранное из таблицы подстановки.

Ожидается матрица из 2-х столбцов.

<Field Name="FieldName" Type="Substitution" Field="FieldName"></Field>

Атрибуты тэга <Field>, специфичные для селектора Substitution

Замена значений (Replace)

Селектор замены значений.

Добавляет в результат столбец со значением исходного соединения с данными с заменой в нём подсрок с использованием таблицы замены.

Замена происходит следующим образом: исходное значение преобразуется в текстовое, затем в строке последовательно заменяется значение из первого столбца таблицы замены на значение второго столбца таблицы замены.

Ожидается матрица из 2-х столбцов.

<Field Name="FieldName" Type="Replace" Field="FieldName"></Field>

Атрибуты тэга <Field>, специфичные для селектора Replace

Работа с массивами (Action)

Селектор работы с массивами.

Добавляет в результат соединения столбец с результатом преобразования массива из исходного соединения с данными.

Ожидается описание операций по работе с массивами.

<Field Name="FieldName" Type="Action" Field="FieldName">Array Operations</Field>

Поле исходнодного соединения должно быть массивом.

Атрибуты тэга <Field>, специфичные для селектора Action

Форматирование строки по шаблону (TemplateFormat)

Селектор форматирования строки по шаблону.

Добавляет в результат столбец с результатом форматирования полей исходного соединения с данными на основе заданного шаблона.

В качестве шаблонизатора используется Scriban. Подробнее по ссылке.

Ожидается строка с шаблоном.

<Field Name="FieldName" Type="TemplateFormat" Evaluate="True">Template</Field>

Атрибуты тэга <Field>, специфичные для селектора TemplateFormat

Get-проперти для получения свойств

Count

Возвращает количество строк, возвращенных определенным запросом загружающего соединения с данными.

<DataConnection SourceDataConnection="ConvertDataConnectionName">
  <Property Name="Count" />
</DataConnection>

Last updated