Filter

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

Используется в PrimaryGetDataConnection, SecondaryGetDataConnection, ConvertDataConnection и TreeGetDataConnection.

Шаблон Filter

Вариант одиночного фильтра

<Filter Type="Equal" FilterByNullValue="" RefreshFilter="" Reverse="">
  <Field NativeName="" />
  <Value></Value>
  <DataType Type="" />
  <Enabled></Enabled>
</Filter>

Вариант фильтра-выражения

<Filter Type="Nested" FilterByNullValue="">
  <And RefreshFilter="" RefreshData="">
    <Or RefreshFilter="" RefreshData="">
      <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
        <Field NativeName="" />
        <Value></Value>
        <DataType Type="" />
        <Enabled></Enabled>
      </Filter>
      <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
        <Field NativeName="" />
        <Value></Value>
        <Enabled></Enabled>
      </Filter>
    </Or>
    <Not RefreshFilter="" RefreshData="">
      <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
        <Field NativeName="" />
        <Value></Value>
        <DataType Type="" />
        <Enabled></Enabled>
      </Filter>
    </Not>
  </And>
</Filter>

Описание Filter

Одиночный фильтр:

<Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
  <!--Тэги, специфичные для Filter-->
</Filter>

Фильтр-выражение:

<Filter Type="Nested" FilterByNullValue="True">
  <!--Тэги <And>, <Or> и <Not>-->
</Filter>

Необязательный атрибут Type - тип сравнения значений. Ожидается название одного из типов сравнения значений. По умолчанию используется значение Equal. Атрибуту можно задать значение Nested, чтобы сделать фильтр-выражение.

Необязательный атрибут FilterByNullValue - признак, определяющий, будет ли осуществляться фильтрация для очередной строки соединения с данными, если значение фильтра будет равно NULL. Ожидается логическое значение. По умолчанию используется значение True.

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

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

Атрибуты RefreshFilter и Reverse не работают для фильтров-выражений (атрибут Type со значением Nested). Для таких фильтров данные обновляются всегда.

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

Перечисленные ниже тэги не допустимы для фильтров-выражений (атрибут Type со значением Nested).

Field

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

<Field NativeName="FieldName" />

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

Обязательный атрибут NativeName - название поля, по значению которого полученные данные фильтруются. Ожидается название одного из полей, описанных в тэге <Fields>.

Value

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

<Value>Value</Value>

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

DataType

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

<DataType Type="DataTypeName" />

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

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

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

Enabled

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

<Enabled>True</Enabled>

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

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

Equal

Сравнение значений на равенство

NotEqual

Сравнение значений на неравенство

Greater

Сравнение значений на "больше": значение из соединения с данными больше указанного значения

NotGreater

Сравнение значений на "не больше": значение из соединения с данными не больше указанного значения

Less

Сравнение значений на "меньше": значение из соединения с данными меньше указанного значения

NotLess

Сравнение значений на "не меньше": значение из соединения с данными не меньше указанного значения

Contains

Сравнение значений на "содержит": значение из соединения с данными содержит указанное значение (значения любых типов данных преобразуются к строковому типу)

NotContains

Сравнение значений на "не содержит": значение из соединения с данными не содержит указанное значение (значения любых типов данных преобразуются к строковому типу)

In

Сравнение значений на "входит": значение из соединения с данными входит в указанный массив

NotIn

Сравнение значений на "не входит": значение из соединения с данными не входит в указанный массив

Overlap

Сравнение значений на "пересекается": массив из соединения с данными имеет общие элементы с указанным массивом

NotOverlap

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

MatchSearch

Сравнение значений на "удовлетворяет поисковой строке": поисковая строка может состоять из слов, разделенных пробелами и знаками "+", "*" и "?", пробел означает "ИЛИ", "+" означает "И", "*" означает любое количество любых символов, "?" означат ровно один символ

NotMatchSearch

Сравнение значений на "не удовлетворяет поисковой строке": поисковая строка может состоять из слов, разделенных пробелами и знаками "+", "*" и "?", пробел означает "ИЛИ", "+" означает "И", "*" означает любое количество любых символов, "?" означат ровно один символ

ContainedIn

Сравнение значений на "входит": значение из соединения с данными входит в указанное значение (значения любых типов данных преобразуются к строковому типу)

NotContainedIn

Сравнение значений на "не входит": значение из соединения с данными не входит в указанное значение (значения любых типов данных преобразуются к строковому типу)

Логические операторы

Логические операторы допустимы только для фильтров-выражений (атрибут Type со значением Nested).

And

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

<And RefreshFilter="True" RefreshData="True">
  <Filter>
    <Field NativeName="" />
    <Value></Value>
    <DataType Type="" />
    <Enabled></Enabled>
  </Filter>
  <Not>
    <Filter>
      <Field NativeName="" />
      <Value></Value>
      <DataType Type="" />
      <Enabled></Enabled>
    </Filter>
  </Not>
</And>

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

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

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

Or

Логическое сложение нескольких фильтров. Возвращает true, если хотя бы один из операндов возвращает true.

<Or RefreshFilter="True" RefreshData="True">
  <Filter>
    <Field NativeName="" />
    <Value></Value>
    <DataType Type="" />
    <Enabled></Enabled>
  </Filter>
  <Filter>
    <Field NativeName="" />
    <Value></Value>
    <Enabled></Enabled>
  </Filter>
</Or>

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

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

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

Not

Логическое отрицание одного фильтра. Производится над одним операндом и возвращает true, если операнд равен false. Если операнд равен true, то операция возвращает false.

<Not RefreshFilter="True" RefreshData="True">
  <Filter>
    <Field NativeName="" />
    <Value></Value>
    <DataType Type="ypeName" />
    <Enabled></Enabled>
  </Filter>
</Not>

Необязательный тэг. Ожидается один из тэгов <Filter>, <And>, <Or> или <Not>.

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

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

Last updated