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