Общая фильтрация


Возможные варианты фильтрации:

  • «Базовая фильтрация» – обработка значений данного поля по условию в виде простого логического выражения с использованием:

    • значения данного поля;

    • операторов (условий):

      • для строковых значений:

        • «Равно»;

        • «Не равно»;

        • «Содержит»;

        • «Без значения»;

        • «Непустое значение».

      • для дат:

        • «Равно»;

        • «Не равно»;

        • «Без значения»;

        • «Непустое значение»;

        • «Больше или равно»;

        • «Меньше или равно»;

        • «Больше»;

        • «Меньше»;

        • «Завтра»;

        • «Сегодня»;

        • «Вчера».

          Примечание
          Для поля типа «Дата» реализована возможность фильтрации с учетом времени. Время можно установить как вручную в поле ввода значения, так и в календаре (Рисунок «Календарь с возможностью выбора времени»). По умолчанию время не установлено, в таком случае в выборку попадают все даты за период времени 00:00-23:59.

          Рисунок 1. Календарь с возможностью выбора времени

          Календарь с возможностью выбора времени

      • для числовых значений:

        • «Равно»;

        • «Не равно»;

        • «Больше или равно»;

        • «Меньше или равно»;

        • «Больше»;

        • «Меньше»;

        • «IS NULL»;

        • «IS NOT NULL».

      • для логического типа:

        • «Равно» с вариантами выбора «Да»/ «Нет»;

        • «Не равно» с вариантами выбора «Да»/ «Нет»;

        • «IS NULL»;

        • «IS NOT NULL».

    • значения, с которым сравнивается (число или текст в зависимости от типа поля).

  • «Расширенная фильтрация» (Рисунок «Расширенная фильтрация») – обработка значений поля с использованием операторов условий и связями «И/ИЛИ» между группами или условиями в группе. Условия отображения блоков настройки расширенной фильтрации описаны выше.

    Рисунок 2. Расширенная фильтрация

    Расширенная фильтрация

При выборе расширенной фильтрации доступны следующие функции:

  • добавить группу – при нажатии на кнопку «Добавить группу» добавляется новая группа с одной строкой полей для ввода условий. Кнопка доступна всегда;

  • добавить условие – при нажатии на кнопку «Добавить условие» добавляется новая строка полей для ввода условий в группе. Кнопка доступна всегда и находится в рамках группы;

  • удалить группу – при нажатии на кнопку «Удалить группу» удаляются все условия группы и группа. Кнопка доступна при наличии группы в окне;

  • удалить условие – при нажатии на кнопку удаляются условия и строка полей для ввода условий. Если условие было одно, то удаляется и группа условий. Кнопка становится доступной после того, как в окне отображается строка для ввода условий в группе;

  • связать условия в окне с помощью операторов:

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

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

Состав полей расширенной фильтрации зависит от типа полей:

  • для типа поля «Дата» структура ввода условий следующая: (Выпадающий список с указанием полей модели)+(Операторы условий)+(Дата/Диапазон дат):

    • выпадающий список с указанием полей модели по умолчанию заполняется наименованием поля, в котором выполняется редактирование;

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

      • по дате:

        • «Равно» (по умолчанию);

        • «Не равно»;

        • «Больше или равно»;

        • «Меньше или равно»;

        • «Больше»;

        • «Меньше»;

        • «Завтра»;

        • «Сегодня»;

        • «Вчера»;

        • «Без значения» (при выборе загружается в значения, поле блокируется);

        • «Непустое значение» (при выборе загружается в значения, поле блокируется).

          Примечание
          Для поля типа «Дата» реализована возможность фильтрации с учетом времени. Время можно установить как вручную в поле ввода значения, так и в календаре (см. Рисунок «Календарь с возможностью выбора времени»). По умолчанию время не установлено, в таком случае в выборку попадают все даты за период времени 00:00-23:59.
      • по диапазону дат:

        • «Все даты за период» ();

        • «Все даты кроме периода» ();

        • «На следующей неделе» (диапазон формируется автоматически);

        • «На этой неделе» (диапазон формируется автоматически);

        • «На прошлой неделе» (диапазон формируется автоматически);

        • «В следующем месяце» (диапазон формируется автоматически);

        • «В этом месяце» (диапазон формируется автоматически);

        • «В прошлом месяце» (диапазон формируется автоматически);

        • «В следующем квартале» (диапазон формируется автоматически);

        • «В этом квартале» (диапазон формируется автоматически);

        • «В прошлом квартале» (диапазон формируется автоматически);

        • «В следующем году» (диапазон формируется автоматически);

        • «В этом году» (диапазон формируется автоматически);

        • «В прошлом году» (диапазон формируется автоматически);

        • «С начала года» (диапазон формируется автоматически).

          Примечание
          Для поля типа «Дата» реализована возможность фильтрации с учетом времени. Время можно установить как вручную в поле ввода значения, так и в календаре (Рисунок «Двойной календарь с возможностью выбора диапазона времени»). По умолчанию время не установлено, в таком случае в выборку попадают все даты за период времени 00:00-23:59.

          Рисунок 3. Двойной календарь с возможностью выбора диапазона времени

          Двойной календарь с возможностью выбора диапазона времени

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

    • при выборе оператора по диапазону дат доступен двойной календарь, при выборе оператора по дате доступен единичный календарь;

    • при смене группы операторов выбранные ранее даты удаляются.

  • для числовых полей структура ввода условий следующая: (Выпадающий список с указанием полей модели)+(Операторы условия)+(Значение):

    • выпадающий список с указанием полей модели по умолчанию загружается наименование поля, в котором выполняется редактирование;

    • операторы условий:

      • «Равно» (по умолчанию);

      • «Не равно»;

      • «Больше или равно»;

      • «Меньше или равно»;

      • «Больше»;

      • «Меньше»;

      • «IS NULL» (при выборе загружается в значения, поле блокируется);

      • «IS NOT NULL» (при выборе загружается в значения, поле блокируется);

      • «Между» (при выборе отображается ползунок с минимальным и максимальным значениями редактируемого поля. Если для поля (текстовое, дата, число) задана промежуточная агрегация (количество, количество уникальных, минимум, максимум, среднее, формула), то отображается ползунок с минимальным и максимальным значениями для агрегата).

    • значения (Рисунок «Значения, заданные в справочнике»):

      • для операторов «Равно», «Не равно» значения полей, которые объявлены справочником, представлены в виде выпадающего списка для установки «флажков» с множественным выбором;

      • для операторов «IS NULL», «IS NOT NULL» значения загружаются в текстовое поле, поле блокируется;

      • во всех остальных случаях значение вводится в текстовое поле;

      Рисунок 4. Значения, заданные в справочнике

      Значения, заданные в справочнике

  • для логических полей структура ввода условия следующая: – (Выпадающий список с указание полей модели)+(Операторы условия)+(Значение):

    • выпадающий список с указанием полей модели – по умолчанию загружается наименование поля, в котором происходит редактирование;

    • операторы условий:

      • «Равно» с вариантами выбора «Да»/ «Нет»;

      • «Не равно» с вариантами выбора «Да»/ «Нет»;

      • «IS NULL» (при выборе загружается в значения, поле блокируется);

      • «IS NOT NULL» (при выборе загружается в значения, поле блокируется).

  • для текстовых полей структура ввода условий следующая: (Выпадающий список с указанием полей модели)+(Операторы условия)+(Значение):

    • выпадающий список с указанием полей модели – по умолчанию загружается наименование поля, в котором выполняется редактирование;

    • операторы условий:

    • значения (Рисунок «Значения, заданные в справочнике»):

      • для операторов «Равно», «Не равно» значения полей, которые объявлены справочником, представлены в виде выпадающего списка для установки «флажков» с множественным выбором;

      • для операторов «IS NULL», «IS NOT NULL» значения загружаются в текстовое поле, поле блокируется;

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

      Рисунок 8. Значения, заданные в справочнике

      Значения, заданные в справочнике

Пример настройки расширенной фильтрации приведен на рисунке ниже (Рисунок «Пример настройки расширенной фильтрации»).

Рисунок 9. Пример настройки расширенной фильтрации


Функция расширенной фильтрации также доступна в табличном виджете в режиме просмотра или редактирования с помощью кнопки под наименованием поля. Также данная функция доступна на вкладке «Фильтры» при нажатии на кнопку напротив поля при условии, что расширенная фильтрация уже настроена по конкретному полю.

При базовой фильтрации по полю с типом «Строка» есть возможность выбрать все значения. Для этого установите «флажок» в поле «Выбрать все» (Рисунок «Базовая фильтрация по полю с типом «Строка». Поле «Выбрать все»).

Рисунок 10. Базовая фильтрация по полю с типом «Строка». Поле «Выбрать все»

Базовая фильтрация по полю с типом «Строка». Поле «Выбрать все»