Применение фильтров в программе "Автошкола"
Фильтры позволяют отфильтровать в таблице или в отчете записи, удовлетворяющие определенным условиям.
В программе имеется два вида фильтров:
1) В любой таблице работает «Быстрый фильтр». При помощи «Быстрого фильтра» можно отфильтровать все записи, которые содержат заданную подстроку в любом из строковых полей таблицы. Вызывается «Быстрый фильтр» при помощи комбинации клавиш <Ctrl+Shift+F> (раскладка клавиатуры должны быть латинской). При этом появляется окно, в котором в поле «Искать» нужно ввести искомую подстроку и нажать кнопку [Включить фильтр].
После окончания поиска важно не забыть отключить фильтр: <Ctrl+Shift+F> и затем кнопка [Отключить].
2) Настраиваемый фильтр, который вызывается нажатием на кнопку [Выбрать фильтр], расположенную справа от поля «Фильтр» в верхней части окна. После нажатия этой кнопки появляется окно «Фильтры» со списком заранее написанных фильтров, относящихся к данной таблице (окну). Нажатие на кнопку [Выбрать] в окне «Фильтры» включает выбранный фильтр. При этом название фильтра видно в поле «Фильтр» в верхней части окна. Если записей в таблице очень много, то сразу после включения фильтра может быть достаточно долгий период ожидания - пока программа просмотрит все записи и отфильтрует из них записи, удовлетворяющие условию фильтра.
Те же самые фильтры используются также и при печати различных отчетов и списков, что очень сильно повышает полезность отчетов. Особенно если применять фильтры совместно с указанием периода (с… по…) и других ограничений (автомобиль, клиент, операция и т.п.).
Фильтры могут добавляться в программу самими пользователями по мере необходимости. Окно "Фильтры" показывает только фильтры, относящиеся к той таблице, из которой оно было вызвано.
- Кнопка выбора фильтра
Добавление, изменение и удаление записей в справочнике производится при помощи следующих кнопок, расположенных в верхней части окна:
- Добавить новую запись о фильтре
- Изменить (открыть) существующую запись
- Удалить запись
- Создать новую запись на основе существующей (копировать старую запись в новую)
- Кнопки для упорядочивания (перемещения) записей в списке фильтров.
Форма ввода записи о фильтре:
Назначение основных полей окна "Фильтр":
- Таблица - Название таблицы, для которой будет применяться данный фильтр. Это поле заполняется автоматически и его изменить нельзя
- Номер - Порядковый номер фильтра в списке
- Фильтр - Название фильтра, по которому он будет выбираться конечным пользователем
- Выражение - Выражение фильтра на языке Clarion. После вычисления выражение должно принимать значение "Истина" или "Ложь". Если выражение принимает значение "Истина" (не равно нулю), то условие фильтра считается выполненным и запись будет показана в таблице или в отчете. В выражениях можно применять имена полей файлов базы данных. Можно применять операторы и функции языка Clarion.
Для облегчения написания выражений фильтров в правой части окна имеется ряд кнопок для выбора и вставки в выражение операторов, функций и полей файлов базы данных. При помощи кнопки "Данные" можно вызвать окно "Описание файлов", в котором можно выбрать поле базы данных.
Кнопкой "Функции" вызывается окно "Выбор функции", где можно посмотреть краткое описание и выбрать функция языка Clarion:
Операторы языка можно вставлять в выражение фильтра "вручную" либо при помощи кнопок группы "Операторы", расположенных в окне "Фильтр" над полем выражения фильтра. Приоритет логических операторов ("and", "or", "not") ниже чем у арифметических операторов ("+", "-", "*", "/"), причем у оператора "логическое ИЛИ" ("or") приоритет ниже чем у оператора "логическое И" ("and"). Если вы не уверены в каком порядке будут выполняться операторы, рекомендуем для явного задания порядка выполнения широко применять скобки "(" и ")".
Чтобы правильно писать фильтры нужно знать обозначения полей базы данных программы. Эти обозначения видны, если подвести курсор мышки к любому полю в окнах программы. Например, в окне «Учащийся» поле «Фамилия» имеет обозначение stu:LName. Для написания фильтров нужно хотя бы немного знать язык (операторы, функции) и иметь "математический" склад мышления. Поэтому, часто, пользователям программы самостоятельно писать фильтры трудно... Если вам нужны какие-либо новые фильтры, то проще всего сделать их с нашей помощью. Для этого нужно как можно точнее сформулировать, что именно нужно от фильтра. При этом нужно иметь в виду, что фильтр можно сделать ТОЛЬКО на основе значений тех полей, которые есть в данной таблице (Учащиеся, Группы, Каccовая книга и т.п.). Поэтому далеко не любую задачу можно решить при помощи фильтров.