Перейти к основному содержимому
Версия: 1.21.3

Конструктор условий

Конструктор условий – это инструмент, который позволяет создавать операторы условий для дальнейшей фильтрации записей. Конструктор условий доступен пользователям на представлениях списков, а также на формах, где добавлены поля типа Conditions.

Конструктор условий помогает пользователям фильтровать списки, создавать правила ACL, бизнес-правила и другое.

Формат условий

Условие состоит из трех частей:

  • Поле
  • Оператор
  • Значение

Поле – это список выбора, состоящий из колонок таблицы. Вы можете переходить к колонкам связанных таблиц с помощью dot-walking.

Часть Оператор представляет собой список выбора, состоящий из различных наборов операторов. Наборы зависят от типа поля. Например, в таблице Задачи нельзя применить оператор больше чем к полю Активна, так как это поле типа True/False. Но вы можете использовать этот оператор для любого числового типа.

Часть Значение представляет собой текстовое поле, набор текстовых полей или список выбора, в зависимости от выбранного поля и оператора. Например, для поля Активна типа Boolean область значений будет отображаться в виде списка выбора с вариантами Да и Нет.

Атрибуты расширенной модели записи


Конструктор условий поддерживает фильтрацию записей с использованием атрибутов расширенной модели записи (REM-атрибутов). Вы можете выбрать модель, связанную с выбранной таблицей, и построить критерий с атрибутом из этой модели и оператором, соответствующим типу атрибута. Фильтр поиска полей и атрибутов также позволяет найти конкретную модель как совокупность атрибутов.

При использовании конструктора условий с таблицами, которые включают REM-атрибуты, в окне поиска доступны дополнительные опции:

Используйте доступные опции, чтобы отфильтровать результаты поиска:

  • Нажмите Все, чтобы включить в результаты поиска как обычные поля, так и REM-атрибуты.
  • Нажмите Поля, чтобы включить в результаты поиска только обычные поля.
  • Нажмите Модели, чтобы искать только модели, связанные с выбранной таблицей.

При вводе значения в поле поиска, появляется фильтр Атрибуты:

  • Нажмите Атрибуты, чтобы включить в результаты поиска только REM-атрибуты, используемые в выбранной таблице.

Модели обозначены в результатах поиска иконкой M.

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

После того, как вы выбрали атрибут, его модель отображается в поле конструктора условий:

внимание

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

Действия конструктора условий

Нажмите на иконку воронки , чтобы вызвать панель конструктора условий.

  • И – сообщает базе данных, что элементы поиска должны обязательно содержать условие. Если вы примените два или более условий с помощью И, вы увидите только те записи, которые соответствуют всем этим условиям.
  • ИЛИ – сообщает базе данных, что любое из указанных условий приемлемо. Вы можете добавить высокоуровневые условия, используя эти кнопки на панели конструктора условий. Если вы примените два или более условий с помощью ИЛИ, вы увидите записи, которые соответствуют хотя бы одному из этих условий.

Другие доступные действия:

  • Сортировать – добавляет условия сортировки полей по убыванию и возрастанию.

  • Сгруппировать – добавляет условия полей, группирует и сортирует по имени или количеству в порядке убывания или возрастания.

  • Сохранить – сохраняет настроенные условия. Перед сохранением обязательно введите название для фильтра. Действие доступно только на списках.

  • Применить – запускает настроенное условие для применения фильтрации. Действие доступно только на списках.

  • Закрыть – скрывает конструктор условий. Действие доступно только на списках.

  • Очистить все – удаляет указанные условия.

Навигационная цепочка


В SimpleOne навигационная цепочка – это элемент интерфейса, который отображает все примененные условия для фильтрации. Вы можете увидеть навигационную цепочку выше панели конструктора условий рядом с иконкой воронки .

Вы можете сбросить примененные условия. Нажмите на стрелку , чтобы удалить ненужные фильтры.

Чтобы удалить все фильтры кроме одного, вам нужно нажать на фильтр, который вам необходимо оставить.

Быстрая фильтрация


Показать совпадения, Исключить совпадения, Сгруппировать – это три быстрых способа отфильтровать элементы. После применения одного из этих фильтров, вы можете также добавить больше условий через панель конструктора условий или применить действия Показать совпадения, Исключить совпадения, Сгруппировать еще раз. Все примененные условия отображаются в навигационной цепочке.

Использовать быструю фильтрацию удобно, если вам нужно применить одно конкретное условие без каких-либо деталей. Подробнее читайте в статье Интерфейс списка.

Строка условий

Строка условий описывает условия, которые применяются к полям таблицы с помощью операторов И и ИЛИ. Она генерируется автоматически конструктором условий и используется в URL-адресе как параметр condition после фильтрации списка. Также ее можно создать вручную в скриптах. Некоторые символы в строке условия в URL-адресе будут закодированы браузером.

Строка условий не содержит названия таблицы, связанной с этим условием. Поэтому при ее использовании учитывайте таблицу для фильтрации.

Примеры строк условий представлены ниже:

a0^a1^a2^...^an, или a0^ORa1^ORa2^OR…^ORan

Где ai – это строки условий, заключенные в скобки.

Специальные символы

СимволОписание
^Оператор И
^ORОператор ИЛИ
^ORDERBYСортировка по возрастанию
^ORDERBYDESCСортировка по убыванию
@Разделитель значений в разделе <value>
^GROUPBYГруппировка по возрастанию значений группы
^GROUPBYDESCГруппировка по убыванию значений группы
^GROUPBYCOUNTГруппировка по возрастанию количества записей в группе
^GROUPBYCOUNTDESCГруппировка по убыванию количества записей в группе
=OPОткрывающая скобка
=CPЗакрывающая скобка

Сложные выражения могут быть построены с использованием операторов И и ИЛИ; для предотвращения коллизий простые выражения внутри сложного заключаются в скобки.

JavaScript-инъекции

Поле Значение также поддерживает так называемые JavaScript-инъекции. Вы можете указать короткий скрипт JavaScript, если поле Значение относится к одному из текстовых полей. Этот скрипт будет интерпретирован, и его результаты будут отображены в качестве результатов фильтрации.

Чтобы использовать эту функциональность, добавьте JS-инъекцию в поле Значение в следующем формате:

JS-инъекция

javascript: script_text

примечание

Это поле поддерживает использование запятых (,) и разрыва строк (\n).

Вы также можете использовать внешние скрипты в инъекциях. Чтобы использовать внешний скрипт, следуйте инструкциям в статье Внешние скрипты. Максимальная длина скрипта не должна превышать 255 символов.

Пример использования внешнего скрипта в инъекции приведен ниже:

Внешний скрипт в инъекции
javascript: ss.importIncludeScript('DateTimeScript'); return getWeekStartDate();