SqlQuery

Запрос для получения данных с сервера.

Шаблон SqlQuery

<SqlQuery Name="" Type="Select">
  <ManualLoad></ManualLoad> 
  <Workflow Name="" />
  <Fields>
    <Field Name="" NativeName="" />
    <Field Name="" Type="FormatField" FormatString="">
      <Field NativeName="" />
      <Field NativeName="" />
    </Field>
  </Fields>
  <Parameters>
    <Parameter NativeName="" RefreshQuery="" SendAsArray="">
      <Value></Value>
      <IfNull></IfNull>
      <IfEmpty></IfEmpty>
    </Parameter>
  </Parameters>
  <Filter>
    <And RefreshFilter="">
      <Or RefreshFilter="">
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled></Enabled>
        </Filter>
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled></Enabled>
        </Filter>
      </Or>
      <Not RefreshFilter="">
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled></Enabled>
        </Filter>
      </Not>
    </And>
  </Filter>
</SqlQuery>

Описание SqlQuery

<SqlQuery Name="">
  <ManualLoad></ManualLoad> 
  <Workflow Name="" />
  <Fields> </Fields>
  <Parameters></Parameters>
  <Filter></Filter>
</SqlQuery>

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

ManualLoad

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

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

Если тэг <ManualLoad> отсутствует, то используется значение тэга <ManualLoad> соединения с данными.

<ManualLoad>False</ManualLoad>

Workflow

Процесс, в рамках которого происходит запрос.

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

<Workflow Name="WorkflowName" />

В качестве значения атрибута Name ожидается название одного из процессов, расположенных на сервере и заголовочно описанных в базе данных в таблице public.workflow_type.

Fields

Список полей запроса.

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

<Fields>
  <Field Name="field_name1" />
  <Field Name="FieldName2" NativeName="field_name2" />
  <Field Name="FieldName3" Type="FormatField" FormatString="{0} ({1})">
    <Field NativeName="field_name3" />
    <Field NativeName="field_name4" />
  </Field>
</Fields>

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

Parameters

Параметры, передаваемые в запрос.

Необязательный тэг. Ожидается список тэгов <Parameter>.

<Parameters>
  <Parameter NativeName="NativeName" RefreshQuery="False" SendAsArray="True">
    <Value>Value</Value>
    <IfNull>Value</IfNull>
    <IfEmpty>Value</IfEmpty>
  </Parameter>
</Parameters>

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

Применять значение False для атрибута RefreshQuery имеет смысл тогда, когда обновляется более одного параметра запроса одновременно, но при этом нет необходимости выполнять запросы отдельно при обновлении каждого параметра.

Вложенные тэги тэга <Parameter>

  • Value - значение параметра. Обязательный тэг. Ожидается любое значение;

  • IfNull - значение, которое будет передано в качестве значение параметра, если последний в тэге <Value> имеет значение NULL. Необязательный тэг. Ожидается любое значение;

  • IfEmpty - значение, которое будет передано в качестве значение параметра, если последний в тэге <Value> имеет значение "". Необязательный тэг. Ожидается любое значение.

Filter

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

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

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

<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>

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

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

Last updated