Для создания сложных фильтров, использующих условия "ИЛИ", отрицание и другие возможности, непредусмотренные простыми фильтрами, используйте язык запросов. Для написания сложного фильтра введите в строке фильтра знак вопроса ? (или звездочку *), после чего система предложит выбрать атрибут для фильтрации, логическую операцию или указать значение для фильтра. Сложный фильтр можно использовать в комбинации с простым, который задается выпадающими списками.
Запрос состоит из логических операторов AND, OR, NOT, операторов равенства и неравенства, оператора выборки из множества IN. Для поиска вида "содержит" используйте символ тильда. Вы можете использовать повышение приоритета логической операции при помощи скобок. Между операндами и значениями необходимо оставлять пробел.
Левым операндом является путь к атрибуту. В простом случае это системное имя атрибута, например, Caption. Система подсказывает какие атрибуты можно выбрать. Полный набор атрибутов доступен также в модуле "Справочник разработчика".
Id - это атрибут, содержащий идентификатор объекта. Например, выражение ?Id = 123 используется для фильтра данных по конкретному ИД объекта.
Некоторые атрибуты являются ссылками на другие объекты. Для доступа к ним используйте символ точки. Например, выражение ?Project.CodeName = "test" позволит выбрать данные для конкретного проекта.
Если необходимо в фильтре использовать название объекта, то атрибут Caption можно не использовать. Например, выражение ?Tags = "один" AND NOT Tags = "два" позволит выбрать данные, где указан тег с названием "один" и отсутствует тэг с названием "два".
Правым операндом является скалярное значение (число или текст, указанный в кавычках).
При использовании оператора IN перечисление значений указывается через запятую, например IN "один, два, три"
Правым операндом также может быть атрибут объекта. Например, выражение ?Planned < Fact позволяет выбрать задачи, по которым превышены фактические трудозатраты над плановыми.
Есть несколько встроенных ключевых слов, которые можно использовать в качестве правого операнда:
При указании даты можно использовать относительные выражения, например, now - сегодня, "-1 days" - "вчера".
В запросах поиска можно указывать сортировку результатов. Для этого необходимо в конце добавить фразу ORDER BY и указать системное имя атрибута. Направление сортировки задается фразами ASC - для прямой сортировки и DESC - для обратной. Для сортировки по нескольким полям используйте запятую, например ORDER BY Caption ASC, Email DESC
Примеры запросов: