energy-service.ru :  Новости, документация, помощь и поддержка пользователей программных продуктов

БЮДЖЕТ-Клиент

Фильтр

Фильтр является частью системы и в принципе может быть доступен из любой таблицы программы для любого набора данных.

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

interface_filter_1

рис.1

Подменю состоит из двух частей: верхняя часть представляет собой операции с Фильтром, нижняя (под разделителем) список фильтров, которыми в данный момент может воспользоваться пользователь. Задействованный фильтр отмечен в меню жирной точкой. Отменяется фильтр соответствующим пунктом меню. После отмены фильтра таблица опять отражает все записи.
Фильтр представляет собой набор условий для полей основного набора данных или его атрибутов. Фильтр можно сохранить для применения в дальнейшем. Обо всем этом будет написано в описании соответствующих пунктов меню ниже.

Пункт меню – Список фильтров…
Выбор данного пункта открывает форму изображенную на рис. 2.

interface_filter_2

рис.2

Как можно видеть на рисунке фильтры, кроме Наименования, имеют два основных свойства: Срок действия и Доступ.
Срок действия Фильтра бывает постоянным и временным. Постоянный фильтр можно запомнить и он будет доступен, пока его не удалят вручную (в этой же форме). По умолчанию новый фильтр создается с «временным» сроком, т.е. фильтр будет доступен до закрытия программы. Имеет смысл сохраненным фильтрам давать осмысленные Наименования, из которых будет ясно их назначение (по умолчанию фильтр создается с именем «Новый фильтр …»).
Другим важным свойством Фильтра является Доступ. Доступ может быть личным или для всех. Это дает возможность созданные одним пользователем фильтры сделать доступными для всех. Например, основные и часто используемые фильтры может настроить администратор.
Назначение кнопок формы совпадает с назначением подобных кнопок в стандартной форме выбора из справочника. Поэтому немного стоит остановиться только на трех правых («Выход с пустым значением», «Выход с выбором» и «Выход»). В данной форме нажатие любой из этих кнопок приведет к открытию формы Настройка фильтра (рис. 3), работа с которой будет описана ниже. Отличие при нажатии только в том, что «Выход с выбором» откроет Настройку выбранного текущего фильтра для просмотра сохраненных условий, редактирования и т.д., а две другие кнопки – пустую форму, готовую для настройки нового фильтра.

Пункт меню – Создать фильтр…
Эта команда открывает форму Настройка фильтра (рис. 3) в режиме создания нового фильтра.

interface_filter_3

рис.3

Назначение кнопок:

  1. Выбор сохраненных условий – открывает форму Список фильтров (рис. 2). Дает возможность выбрать другой фильтр из числа сохраненных ранее.
  2. Сохранение условий – сохраняет настройку.
  3. Применить условия – закрывает текущую форму, применяя настроенные условия к набору данных (при настройке нового фильтра или редактирования условий кнопка недоступна, пока не сохранены изменения).
  4. Отменить фильтр – закрывает форму, отменяя наложенный на набор данных фильтр.
  5. Отмена – закрывает форму без сохранения сделанных изменений.

Другие элементы формы:
1. Поля набора данных и доступных атрибутов. Содержит все поля формы, из которой была вызвана настройка фильтра, сгруппированные по атрибутам. Над списком располагаются кнопки «Дерево», «Список», «Настройка полей». Первые две позволяют переключать режим отображения полей – дерево или список (рис. 4).

interface_filter_4

рис.4

Оба режима имеют одинаковое назначение и просто дают пользователю возможность выбора наиболее удобного для него представления полей. Кнопка «Настройка полей» позволяет пользователю скрыть из списка поля, которыми он не пользуется (для более удобной работы) (рис. 5). Для того чтобы скрыть ненужное поле, необходимо снять галочку рядом с его именем. Данная настройка сохраняется для пользователя. Если возникнет необходимость, то скрытое поле можно восстановить, отметив его в этом списке.

interface_filter_5

рис.5

2. Выбор оператора условия. Элемент представляет собой раскрывающийся список операторов для создания условий. Список операторов с типами данных, к которым они могут быть применимы, представлен в Таблице 1.

Таблица 1
Оператор Число Дата Текст
равно + + +
не равно + + +
больше + + +
больше или равно + + +
меньше + + +
меньше или равно + + +
между + + +
не между + + +
пусто + + +
не пусто + + +
начинается с - - +
не начинается с - - +

Как видно из таблицы практически все операторы, кроме последних двух, могут применяться ко всем встречающимся в программе типам данных. Условия «(не) начинается с» позволяют (не) отобрать, например, все счета с фамилией (не)начинающейся с «Сав».

3. Поля для ввода значений условия. В данные поля должны вводиться значения для условий. В основном используется только верхнее поле, т.к. большинство операторов требует только одно значение. Исключение составляют: «пусто/не пусто» (значение не требуется) и «между/не между» (требуется два значения). Для текстовых полей регистр ввода не имеет значения. Значения типа Дата должны вводиться в формате «дд.мм.гггг».

4. Окно отображения условий. Показывает уже введенные условия (см. рис. 3).

Кнопки, расположенные рядом с окном условий, позволяют добавлять и удалять условия, создавая выражения из отдельных условий. «Добавить» – только для ввода самого первого условия. «Добавить с И»/«Добавить с ИЛИ» – добавляют следующие условия, связывая их в логические выражения (И/ИЛИ). «И» отбирает строки, у которых оба условия истинны. Например, «Ф.И.О. начинается с Сав И Участок равно Участок №2»: будут отобраны ТОЛЬКО проживающие на указанном участке с фамилией, начинающейся с Сав… . Тогда как «ИЛИ» позволяет задавать более свободные условия. Например, тоже самое выражение с «ИЛИ» отберет ВСЕХ жителей Участка №2 и ВСЕХ с фамилией начинающейся с Сав… . Если необходим отбор по одному полю нескольких значений, то можно воспользоваться операторами типа «больше/меньше» или «между» (при условии их последовательности, т.е., например, «Номер между 125 и 348») или можно связать условия оператором «ИЛИ» (если значения не последовательны, например: «Номер равно 10 ИЛИ Номер равно 55 ИЛИ Номер равно 26456»).