Глава 5. ПАНЕЛЬ СПРАВОЧНИКА
Фильтрация
Каждый класс справочника может иметь основной текущий фильтр. Этот
фильтр действует в запущенном экземпляре программы Allegro. Этот фильтр
временный - его параметры не сохраняются после завершения работы программы
. Фильтрация имеет глобальный характер, то есть действует во
всех Панелях справочника этого класса. Фильтр также задает значения
по умолчанию при добавлении новых объектов в справочник.
Для задания параметров фильтрации, нужно вызывать окно фильтра с
помощью пункта Фильтрация контекстного меню или клавишей F6.
Установка фильтра делается очень просто. Любое добавляемое в фильтр
условие сужает отображаемый в справочнике набор, так как все
условия действуют совместно по логической схеме «И».
Поля ссылочного типа можно устанавливать, выбирая их значения из
соответствующих справочников. В примере показан справочник, в котором
установлена фильтрация по двум полям: Виду товара и Марке
товара.
Для отмены фильтрации нужно очистить фильтр (вызвать окно фильтра
и нажать последовательно кнопки Очистить и ОК).
Если фильтрация включена, то значок фильтра на соответствующей кнопке
в верхней части Панели справочника показывается красным цветом:
В режимах отображения «сборных» наименований в окне фильтра
появляется поле наименования. Условия фильтрации в «сборных»
наименованиях действуют в режимах отображения наименований.
Здесь уместно рассказать о шаблонах, которые Вы можете при
этом применять. Дело в том, что технически фильтрация
справочника реализуется SQL-запросом к базе данных. Программа
Allegro автоматически создает текст этого запроса. Для числовых полей
и полей типа ссылок на другие справочники Allegro использует проверку
на простое равенство условий значениям в полях объектов. Но
для строковых полей Allegro применяет фильтрацию при помощи SQL-
оператора LIKE (фильтрацию по образцу) и поэтому в
строке фильтра можно использовать так называемые символы шаблонов (wildcards
). Существуют два таких символа: знак процента и знак
подчеркивания:
Шаблон |
Значение |
% |
Любая строка с любым количеством символов |
_ |
Любой одиночный символ |
Например, все кофеварки Electrolux в нашем примере можно было
получить и таким фильтром:
Фильтры в справочниках Allegro не различают регистр букв, так
что Вы можете набирать условия фильтрации как строчными, так
и прописными буквами.
Во всех диалогах выбора из справочника фильтр в данном классе
будет действовать, если он где-то был установлен
. Очистить фильтр также можно в любом окне, где
отображается Панель справочника данного класса.
Фильтрация позволяет очень быстро находить любые объекты в справочниках и
мы рекомендуем ею чаще пользоваться. Если справочник содержит тысячи
записей, то обычно проще установить фильтр и быстро найти
все интересующие записи, чем прокручивать длинный список.
Можно сочетать фильтрацию с упорядочиванием всего набора по какой-
то колонке. Напоминаем, что для упорядочивания по колонке
достаточно щелкнуть левой кнопкой мыши на заголовке этой колонки.
Повторный щелчок на том же заголовке изменяет порядок на противоположный
.
Кроме основного фильтра, о котором мы рассказали, Allegro
содержит еще два других, очень мощных механизма фильтрации:
инкрементный фильтр по вхождению и так называемые рубрикаторы (иерархические
фильтры), о которых речь пойдет дальше.
|