Копировать ссылку на страницу

Выражение фильтрации

Константы, реквизиты, элементы множеств, связанные операциями. Используются в качестве операндов для выбора данных. В частном случае выражениями являются отдельные константы, переменные и т.д.

Выражения строятся по формату:

унарная операция: Операция Операнд1.

Например, !([СтатУтв] = "+")

бинарная операция: Операнд1 Операция Операнд2.

Например, [ИД] = 12345.

Операции в выражениях можно комбинировать. Например, [ИД] = 12345 & [СтатУтв] = '+'

Операнд

Аргумент операции.

Типы операндов представлены в таблице:

Тип

Формат

Пример

Реквизит

[ИмяРеквизита]

[ИД]

Строковая константа

"Значение строковой константы"

"Строка"

Числовая константа

Число

123, -123, 123.4

Константа даты

#dd.MM.yyyy hh:mm:ss#

#21.12.2012 20:32:15#

Множество

{Значение1,Значение2, Значение3, Значение4}

{1,2,3,4}

NULL

null

null

Примечание

Операнд Null может быть использован только в операциях Равенство и Неравенство. Например, [Работник] = null.

Операция выражения фильтрации

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

Типы операций представлены в таблице:

Тип

Формат

Пример

Логическое «И»

Операнд1 & Операнд2

[ИД] = 12345 & [СтатУтв] = '+'

Логическое «ИЛИ»

Операнд1 | Операнд2

[ИД] = 12345 | [ИД] = 54321

Логическое «НЕ»

!Операнд1

!([ИД] = 12345 | [ИД] = 54321)

Больше

Операнд1 > Операнд2

[ДатаВыпуска] > #21.12.2012 20:32:15#

Меньше

Операнд1 < Операнд2

[ДатаВыпуска] < #21.12.2012 20:32:15#

Больше или равно

Операнд1 >= Операнд2

[Количество] >= 100

Меньше или равно

Операнд1 <= Операнд2

[Количество] <= 100

Равенство

Операнд1 = Операнд2

[ИД] = 12345

Неравенство

Операнд1 != Операнд2

[ИД] != 12345

Нечеткое сравнение

Операнд1 like "%Символьная строка%"

[Наименование] like "%СТРОКА%"

Содержит

Операнд1 contains "Строка"

[Наименование] contains "СТРОКА"

Принадлежит множеству

Операнд1 in Операнд2

[ИД] in {123, 124, 125}

Не принадлежит множеству

Операнд1 notin Операнд2

[ИД] notin {123, 124, 125}

Соответствует

[Реквизит] matches ИД-записи

[Наименование] matches 12345

Выполнение используемых в выражениях операций осуществляется по порядку их приоритетов. Операции выполняются от высокого приоритета к низкому. Операции в порядке убывания приоритета: !, (, ), <, >, <=, >=, =, !=, LIKE, CONTAINS, IN, NOTIN, MATCHES, &, |.

Чтобы задать операции более высокий приоритет, заключите ее в круглые скобки.

Примечания

– логические операции могут быть использованы только с результатами других операций;
– если в качестве первого операнда используется реквизит типа «Справочник», то для него доступны только операции Равенство и Неравенство. Вторым операндом должен быть ИД записи справочника, который соответствует этому реквизиту;
– символ «&» не может использоваться в XML-файле, поэтому используется символ «&amp;».

Пример:

 

'Получить список записей справочника, у которых заполнен реквизит «Работник».

'Запись должна быть утверждена, и период ее действия попадает в текущий период

Dim Records = Reference.GetFilteredRecords("[Работник] != null & ([ДатОткр] <= #17.12.2012 00:00:00# & [ДатЗакр] < #21.12.2012 23:59:59#)")

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM