Выражение фильтрации
Константы, реквизиты, элементы множеств, связанные операциями. Используются в качестве операндов для выбора данных. В частном случае выражениями являются отдельные константы, переменные и т.д.
Выражения строятся по формату:
• | унарная операция: Операция Операнд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, &, |.
Чтобы задать операции более высокий приоритет, заключите ее в круглые скобки.
Примечания
1. Логические операции могут быть использованы только с результатами других операций.
2. Если в качестве первого операнда используется реквизит типа «Справочник», то для него доступны логические операции, а также операции Принадлежит множеству и Не принадлежит множеству, Равенство и Неравенство. Если используется операция Равенство или Неравенство, то вторым операндом должен быть ИД записи справочника, который соответствует этому реквизиту.
3. Символ «&» не может использоваться в XML-файле, поэтому используется символ «&».
Пример:
'Получить список записей справочника, у которых заполнен реквизит «Работник».
'Запись должна быть утверждена, период ее действия должен попадать в текущий период.
Dim Records = Reference.GetFilteredRecords("[Работник] != null & ([ДатОткр] <= #17.12.2012 00:00:00# & [ДатЗакр] < #21.12.2012 23:59:59#)")
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |