Рисунок 1 – Заголовок фильтра
При работе с большими объемами данных возникает необходимость скрыть ненужную в данный момент информацию. Для этого используются фильтры. Фильтр содержит набор условий, которые накладываются на значения атрибутов сущности, представленной в табличной форме. При первоначальном открытии справочника фильтр пустой («Фильтр не задан») (рисунок 1) и отображаются все объекты выбранной сущности.
Содержимое панели фильтра и функции представлены в таблице 1.
Таблица 1 – Панель фильтра
Графическое изображение | Назначение |
Кнопка для применения фильтра (отбора элементов списка по заданным условиям) | |
Сброс всех условий (отбор всех элементов списка) | |
Выбор сохраненных фильтров | |
Сохранение построенного фильтра. Задается наименование и доступ для пользователей:
| |
Закрытие области фильтра |
Для построения фильтра необходимо щелкнуть левой кнопкой мыши в область «Фильтр не задан».
Откроется панель для построения фильтров (рисунок 2).
Рисунок 2 – Панель для построения фильтров
Содержимое области фильтра и функции, средства построения фильтра, представлены в таблице 2 и таблице 3.
Таблица 2 – Панель команд
Графическое | Назначение кнопки |
|---|---|
Переключение представления фильтра в текстовый формат | |
Переключение представления фильтра в графический вид. | |
Преобразование представления фильтра в XML - формат | |
Отменяет последнее изменение фильтра (Undo) | |
Возвращает последнее изменение фильтра (Redo) | |
Некорректные условия или части условий обводятся красным прямоугольником, возможность отключить проверку | |
Сортировка запрашиваемых параметров |
Слева располагается панель атрибутов сущности (рисунок 3).
Рисунок 3 – Дерево атрибутов
Размер панели атрибутов можно изменить, переместив мышью границу его правой или нижней внешних рамок.
Список атрибутов на панели имеет древовидную структуру. Простые атрибуты обозначаются в списке атрибутов иконкой . Это такие атрибуты, которые не имеют ссылок на другие атрибуты. Они не могут быть развернуты в следующий уровень дерева списка. Примером простого атрибута для сущности «Посещение врача» может служить «Время посещения», «Дата ввода информации» и т.д.
Атрибуты, являющиеся так называемой «связанной сущностью», обозначаются в списке атрибутов иконкой . Такие атрибуты имеют свои собственные списки атрибутов. Примером такого атрибута для сущности «Посещение врача» может служить атрибут «Вид оплаты», «Должность» и т.д.
В списке атрибутов сущности могут содержаться так называемые «дочерние коллекции». Дочерние коллекции обозначаются иконкой . Примером дочерней коллекции для сущности «Посещение врача» может служить «Назначения», «Элементы реестра счетов».
Атрибуты связанных сущностей и дочерних коллекций могут быть развернуты, если щелкнуть на значке с помощью левой клавиши мыши в списке атрибутов, или свернуты, если щелкнуть на значке .
Атрибуты можно «перетаскивать» с помощью мыши на рабочую панель. Для этого необходимо навести указатель мыши на атрибут в списке слева, нажать левую кнопку мыши и, не отпуская кнопки мыши, переместить указатель мыши на рабочую панель справа и затем отпустить кнопку. Когда мы отпустим кнопку мыши, появится форма для ввода дополнительных условий (рисунок 4).
Рисунок 4 – Форма для ввода условий
Панель инструментов (рисунок 5) содержит инструменты, позволяющие формировать различные условия фильтров.
Они являются запросами, параметрами запросов, системными параметрами, строковыми, логическими и арифметическими операторами (все функции описаны в таблице 3). Для построения условий фильтра необходимо перетащить инструменты при помощи мыши с панели инструментов на рабочую панель, в соответствующую часть условия.
Рисунок 5 – Панель инструментов фильтра
Таблица 3 – Операторы и функции, используемые в выражениях
Графическое | Назначение кнопки |
|---|---|
Функция позволяет сделать выборку значений определенного атрибута заданной сущности | |
Функция подсчета количества элементов в указанной коллекции элементов типа «Объект» | |
Функция анализа дерева наследования | |
Функция позволяет проверить факт существования данных сущности, удовлетворяющих определенным условиям | |
Операнды не должны быть равны друг другу. В случае строк это означает, что строки не должны совпадать | |
Точное равенство операндов – чисел, строк, дат и т.д. Регистр символов строки данной операцией игнорируется, т.е. строки «Текст» и «текст» равны | |
Значение первого (левого) операнда должно быть меньше или равно значению второго (правого) | |
Значение первого (левого) операнда должно быть больше или равно значению второго (правого) | |
Значение первого (левого) операнда должно быть меньше значения второго (правого) | |
Значение первого (левого) операнда должно быть больше значения второго (правого) | |
Объединение операндов – логических значений или выражений (условий) через «или», т.е. положительным результатом выражения будет выполнение любого из этих условий | |
Объединение условий через «и», т.е. положительным результатом выражения будет одновременное выполнение всех этих условий | |
Возвращает положительный результат, если значение удовлетворяет определенному шаблону | |
Позволяет вставить в выражение условную конструкцию вида «Если … тогда … иначе …» | |
Оператор отрицания | |
Арифметический оператор сложения либо оператор сложения (конкатенации) строк. | |
Арифметический оператор вычитания | |
Арифметический оператор умножения | |
Арифметический оператор деления | |
Скобки определяют очередность вычислений | |
Вычисление математической функции | |
Вычисление остатка от деления | |
Функция, позволяющая вычислить разность между двумя датами в различных единицах измерения – годах, месяцах, днях и т.д. | |
Функция, позволяющая вычислить дату путем добавления периода к исходной дате. Период может быть выражен в годах, месяцах, днях и т.д. | |
Функция получения части даты в виде числа (год, месяц, номер недели в году и т.д.). | |
Функция получения заданной части текстовой строки (подстроки). | |
Функция вычисления длины строки в символах. | |
Функция переводит все символы строки в ЗАГЛАВНЫЕ | |
Функция переводит все символы строки в строчные | |
Функция добавляет слева указанные символы к строке до заданной длины строки | |
Функция добавляет справа указанные символы к строке до заданной длины строки | |
Функция заменяет в строке выбранный символ на указанный | |
Функция повторяет заданный символ в строке указанное кол-во раз | |
Функция возвращает логическое Да/Нет (1/0), Да - если длина строки >0 | |
Функция приводит значение входного параметра любого типа к строке. Для логических параметров возвращает строку "True"/"False" | |
Функция удаляет пробелы в текстовой строке слева | |
Функция удаляет пробелы в текстовой строке справа | |
Функция позволяет преобразовать значение аргумента функции к требуемому типу данных, если возможно | |
Функция позволяет преобразовать значение аргумента функции к требуемому типу данных | |
Функция позволяет анализировать значение аргумента с помощью регулярных выражений | |
Функция задания константы | |
Функция задания параметра | |
Для ввода зарегистрированного системного параметра, например:
| |
Функция позволяет проверить строку на пустоту и в случае «Да» заполнить ее заданными символами |
Рабочая панель находится справа от панели инструментов и предназначена для отображения в графическом виде конструируемого фильтра.
Перед началом конструирования, рабочая панель пуста и не содержит никаких элементов. В процессе конструирования фильтров, рабочая панель заполняется условиями фильтров и содержит эти условия в графическом представлении (рисунок 6).
Рисунок 6 – Фильтр в графическом режиме




