Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:manual:filter:filter_element [2017/11/21 09:53] |
ru:manual:filter:filter_element [2023/03/16 12:20] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Окно фильтра ====== | ||
+ | **Окно фильтра** (Рис. 1) может быть открыто с помощью кнопки {{common/icons/08.png?nolink}} панели инструментов любого **Окна справочника** или с помощью комбинации клавиш "Ctrl+D". | ||
+ | |||
+ | |||
+ | [{{ ru/manual/filter/filter_element/autot_filter_element975.png?nolink |Рисунок 1. Окно фильтра }}] | ||
+ | |||
+ | Описание назначения кнопок панели инструментов **Окна фильтра**, которые могут находиться в нажатом или отжатом состоянии, приведено в Таблице 1. | ||
+ | |||
+ | <startTableBox> | ||
+ | ^ Кнопка ^ Состояние и действие ^^ | ||
+ | ^ ::: ^ Кнопка нажата ^ Кнопка отжата ^ | ||
+ | | {{ common/icons/161.png?nolink }} | В фильтре будут отображены все параметры, по которым возможна фильтрация. | В фильтрах будут отображены только параметры по умолчанию. | | ||
+ | | {{ common/icons/33.png?nolink }} | Все подгруппы справочника войдут в результат фильтрации. | Подгруппы не войдут в результат фильтрации. | | ||
+ | | {{ common/icons/34.png?nolink }} | Все конечные объекты справочника войдут в результат фильтрации. | Конечные объекты справочника не войдут в результат фильтрации. | | ||
+ | | {{ common/icons/35.png?nolink }} | Все объекты из текущей группы и всех подгрупп этой группы войдут в результат фильтрации. | Только объекты из текущей группы войдут в результат фильтрации. | | ||
+ | | {{ common/icons/31.png?nolink }} | Объект - группа фильтра войдет в результат фильтрации. | Объект - группа фильтра не войдет в результат фильтрации. | | ||
+ | | {{ common/icons/36.png?nolink }} | Все объекты, помеченные на удаление, войдут в результат фильтрации. | Объекты, помеченные на удаление, не войдут в результат фильтрации. | | ||
+ | | {{ common/icons/37.png?nolink }} | Все объекты, не помеченные на удаление, войдут в результат фильтрации. | Объекты, не помеченные на удаление, не войдут в результат фильтрации. | | ||
+ | <endTableBox|Таблица 1. Кнопки панели инструментов окна фильтра> | ||
+ | |||
+ | Любой справочник имеет корневой объект. Например, объект "Физические лица" является корневым объектом для справочника "Физические лица". | ||
+ | |||
+ | В поле "Группа фильтра" можно выбрать подгруппу справочника, имеющего иерархическую структуру. Это делается для того, чтобы в фильтрации участвовали только объекты, принадлежащие заданной группе. Например, для группы справочников "Функциональные объекты" может быть выбран справочник "Информация" (Рис. 2) или какая-либо из папок из справочника "Информация". Если структура справочника линейная, то группой фильтра всегда будет корневой объект. | ||
+ | |||
+ | |||
+ | [{{ ru/manual/filter/filter_element/change_filter_element993.png?nolink |Рисунок 2. }}] | ||
+ | |||
+ | == == | ||
+ | **Внимание!** Для фильтра (см. [[ru/manual/filter/stored_filter]]) с типом результата "Форма справочника" управление показом узла осуществляется установлением флажка для пункта меню **Показать узел** выпадающего меню кнопки **Действия**. | ||
+ | ==== ==== | ||
+ | \\ | ||
+ | Кнопка {{common/icons/19.png?nolink}} сохраняет настроенный фильтр в справочнике **Фильтры** ({{bslink>Главное меню → Отчеты → Фильтры|ShowRibbonPageOrItem?c639ba43-ff15-4caf-ab36-0d938fe0a7a3;5f301d3f-d375-43a1-86d9-995ca3615998:Item}}) (подробнее см. [[ru/manual/filter/stored_filter]]). | ||
+ | |||
+ | Нажатие на кнопку **Выполнить** запускает выполнение фильтра. Нажатие на кнопку **Отмена** закрывает **Окно фильтра**. | ||
+ | |||
+ | ===== Вкладка "Условия" ===== | ||
+ | |||
+ | На вкладке **Условия** показана таблица со списком параметров класса и полями для ввода условий фильтра. Условия фильтра для параметра задаются в ячейках: **Тип фильтрации**, **Оператор**, **Значение**, **Не**, **Потомки**. | ||
+ | |||
+ | В ячейке **Тип фильтрации** выбирается тип операции сравнения. Тип фильтрации по умолчанию − "Нет", т.е. операция не задана. Чтобы задать условие фильтра, нужно выбрать тип фильтрации "Значение", "Список значений" или "Диапазон" (последнее только для даты). | ||
+ | |||
+ | В ячейке **Оператор** из списка перечислений выбирается оператор сравнения: | ||
+ | |||
+ | * **= ** Равно; | ||
+ | * **> ** Больше; | ||
+ | * **< ** Меньше; | ||
+ | * **> = ** Больше или равно; | ||
+ | * **< = ** Меньше или равно; | ||
+ | * **~ ** Операция подобия, используется только для строковых и текстовых параметров. Подробнее см. [[ru/manual/filter/filter_element#работа_с_операцией_подобия|Работа с операцией подобия "~"]] ниже. | ||
+ | |||
+ | В ячейке **Значение** вводится значение параметра. В зависимости от типа параметра это значение либо вводится с клавиатуры, либо выбирается из справочника, списка перечислений или календаря. Для типа фильтрации "Список значений" значения выбираются из списка "Список значений". | ||
+ | |||
+ | Для параметра с типом "Дата" можно указать типы сравнения "Значение" или "Диапазон". Если выбран тип фильтрации "Значение", то в ячейке **Значение** открывается календарь для выбора конкретной даты. Если выбран тип фильтрации"Диапазон", то в ячейке "Значение" открывается окно "Выбор периода". Кроме того, для сравнения даты можно вводить специальные константы. Подробнее об этом сказано в [[ru/manual/filter/filter_element#использование_системных_констант_в_фильтре|Использование системных констант в фильтре]] ниже. | ||
+ | |||
+ | Опция **Не** служит для отрицания указанного условия, она включается и выключается щелчком мышкой в поле. Например, если выбрать оператор сравнения "=" и включить опцию "Не", то в результат фильтрации войдут все объекты, у которых значение параметра не равно заданному. | ||
+ | |||
+ | Опция **Потомки**. Использование в качестве значений также и потомков объекта, указанного в параметре "Значение". | ||
+ | |||
+ | Чтобы отменить условия фильтра, в ячейке **Тип фильтрации** нужно выбрать − "Нет". | ||
+ | |||
+ | == == | ||
+ | **Внимание!** Не рекомендуется настраивать условия по рассчитываемым параметрам из-за повышения нагрузки на аппаратные ресурсы. Например, вместо параметра "Название" в справочнике "Деятельность" необходимо использовать хранимый параметр "Название единицы деятельности". | ||
+ | ==== ==== | ||
+ | \\ | ||
+ | Некоторые параметры класса имеют сложную структуру. У таких параметров значок «+», расположенный слева от названия, нарисован более насыщенным чёрным цветом, чем у остальных, и, в отличие от них, доступен для клика. Щелчок по значку «+» раскрывает структуру такого параметра, представляющую собой список параметров, для которых также можно задать условия фильтра. | ||
+ | |||
+ | Если условие задано для параметра на одном из нижележащих уровней структуры, то для каждого параметра-владельца на вышележащих уровнях в ячейке **Тип фильтрации** необходимо указать тип фильтрации "Подфильтр". | ||
+ | |||
+ | Над областью задания условий фильтра находится 2 блока гиперссылок: | ||
+ | * Гиперссылки первого блока "Пред. усл." и "След. усл." служат для навигации по условиям фильтра. Гиперссылки активны при наличии условий выше и ниже выделенной строки соответственно. | ||
+ | * Гиперссылки этого блока служат для навигации по уровням фильтра. Содержимое этого блока - путь, состоящий из названий параметров от верхнего уровня фильтра до текущего, при этом соседние уровни разделены точками. Гиперссылками являются все фрагменты пути, кроме текущего уровня фильтра. | ||
+ | |||
+ | Для перехода на вышележащий относительно текущего уровень структуры нужно щелкнуть по значку {{ru/manual/filter/filter_element/filter_element995.png?nolink}}, показанному слева в заголовке списка параметров (Рис. 3). | ||
+ | |||
+ | |||
+ | [{{ ru/manual/filter/filter_element/change_filter_element997.png?nolink |Рисунок 3}}] | ||
+ | |||
+ | ===== Работа с операцией подобия "~" ===== | ||
+ | |||
+ | Операция подобия используется только для строковых и текстовых параметров. В ячейке "Значение" возможно использование шаблонных символов "_", "%", "[", "]" и "^". | ||
+ | |||
+ | <startTableBox> | ||
+ | ^ Комбинация символов ^ Описание ^ Пример ^ | ||
+ | | % | Любая строка длиной от нуля и более символов | Фильтр по справочнику "Бумажные документы". На вкладке **Условия**: для параметра "Название" выбран Тип - "Значение", Оператор - "~", Значение - "%договор%". Результат: перечень всех документов, в которых встречается слово "договор". | | ||
+ | | _ (подчеркивание) | Любой\\ одиночный\\ символ | Фильтр по справочнику "Физические лица". На вкладке **Условия**: для параметра "Фамилия" выбран Тип - "Значение", Оператор − "~", Значение - "_етров". Результат: перечень всех физических лиц, фамилия которых состоит из шести букв и заканчивается сочетанием "етров" (Петров, Ветров и т.п.). | | ||
+ | | _% | Любая строка длиной больше нуля символов | Фильтр по справочнику "Деятельность". На вкладке **Условия**: для параметра "Содержание деятельности" выбран Тип - "Значение", Оператор - "~", Значение "_%". Результат: перечень всех единиц деятельности, у которых заполнен параметр "Содержание деятельности". | | ||
+ | | [<перечень символов>] | Задает перечень символов, которые могут быть на указанной позиции в слове или тексте | Фильтр по справочнику "Физические лица". На вкладке **Условия**: для параметра "Фамилия" выбран Тип - "Значение", Оператор − "~", Значение - "В[ои]лков". Результат: перечень всех физических лиц с фамилиями, начинающимися на "В", оканчивающимися на "лков" и имеющими в качестве второго символа букву "о" или "и" (Волков и Вилков). | | ||
+ | | [%%^%%<перечень символов>] | Задает перечень символов, которые не могут быть на указанной позиции в слове или тексте | Фильтр по справочнику "Физические лица". На вкладке **Условия**: для параметра "Фамилия" выбран Тип - "Значение", Оператор − "~", Значение - "В[%%^%%ои]лков". Результат: перечень всех физических лиц с фамилиями, начинающимися на "В", оканчивающимися на "лков" и не имеющими в качестве второго символа букву "о" или "и" (Вялков и т.п.). | | ||
+ | <endTableBox|Таблица 2. Использование шаблонных символов для операции подобия> | ||
+ | |||
+ | ===== Использование системных констант в фильтре ===== | ||
+ | |||
+ | Условием фильтра может служить имя системной константы. Чтобы ввести в ячейку **Значение** константу, нажмите на строку параметра правой кнопкой мыши. В контекстном меню строки выберите команду **Вставить константу**. При этом в ячейке **Значение** появятся квадратные скобки. Установите курсор между скобками и введите системное название константы. В ячейке **Тип фильтрации** выберите тип фильтрации сравнения "Значение", выберите оператор сравнения. | ||
+ | |||
+ | <startTableBox> | ||
+ | ^ Константа ^ Тип ^ Описание ^ | ||
+ | | База.ПолноеИмя | Строка | В качестве значения подставляется имя текущего пользователя ({{bslink>Главное меню → Главная → Настройки пользователя|ShowRibbonPageOrItem?4427c246-63c5-4592-8686-c46fcb4b0ef5;7574f0c6-15ff-49e1-87db-bfb96ae21d71:Item}}) на вкладке {{bslink>Основные|ShowOnForm?cbdeb0a9-aa22-4b2b-937f-d43944be6632;c=Main,o=Tab}}. | | ||
+ | | База.Пользователь | Строка | В качестве значения подставляется текущий пользователь в **Настройках пользователя** на вкладке **Основные**. | | ||
+ | | БизнесМодель.Физлицо | Объект | В качестве значения подставляется объект типа "Физическое лицо", поставленный в соответствие текущему пользователю в **Настройках пользователя** на вкладке **Основные**. | | ||
+ | | База.ДатаС | Дата | В качестве значения подставляется дата начала периода, который задается в строке состояния Business Studio или в параметре "Рабочий период" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | База.ДатаПо | Дата | В качестве значения подставляется дата конца периода, который задается в строке состояния Business Studio или в параметре "Рабочий период" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ДатаС | Дата | В качестве значения подставляется 00ч00мин даты начала периода, которая задается в строке состояния Business Studio или в параметре "Рабочий период" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ДатаПо | Дата | В качестве значения подставляется 00ч00мин следующего дня после конца периода, который задается в строке состояния Business Studio или в параметре "Рабочий период" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | <endTableBox|Таблица 3. Константы для подстановки в качестве значения> | ||
+ | |||
+ | Для параметров с типом "Дата" может использоваться оператор сравнения "Диапазон". | ||
+ | |||
+ | |||
+ | [{{ ru/manual/filter/filter_element/change_filter_element999.png?nolink |Рисунок 4 }}] | ||
+ | |||
+ | <startTableBox> | ||
+ | ^ Константа ^ Описание ^ | ||
+ | | СвободныйПериод | В диапазон значений подставляется диапазон дат с даты начала периода по дату конца периода, которые задаются в строке состояния Business Studio или в параметре "Рабочий период" в **Настройках пользователя** ({{bslink>Главное меню → Главная → Настройки пользователя|ShowRibbonPageOrItem?4427c246-63c5-4592-8686-c46fcb4b0ef5;7574f0c6-15ff-49e1-87db-bfb96ae21d71:Item}}) на вкладке {{bslink>Дополнительно|ShowOnForm?cbdeb0a9-aa22-4b2b-937f-d43944be6632;c=017b5e1c-c557-4f97-bec6-2727c5c073d9,o=Tab}}. | | ||
+ | | Сегодня | В диапазон значений подставляется текущая дата. | | ||
+ | | ЗаЭтуНеделю | В диапазон значений подставляется текущая неделя. | | ||
+ | | ЗаЭтотМесяц | В диапазон значений подставляется текущий месяц. | | ||
+ | | ЗаЭтотКвартал | В диапазон значений подставляется текущий квартал. | | ||
+ | | ЗаЭтоПолугодие | В диапазон значений подставляется текущее полугодие. | | ||
+ | | ЗаЭтотГод | В диапазон значений подставляется текущий год. | | ||
+ | | Вчера | В диапазон значений подставляется вчерашняя дата. | | ||
+ | | ЗаПрошлуюНеделю | В диапазон значений подставляется прошлая неделя. | | ||
+ | | ЗаПрошлыйМесяц | В диапазон значений подставляется прошлый месяц. | | ||
+ | | ЗаПрошлыйКвартал | В диапазон значений подставляется прошлый квартал. | | ||
+ | | ЗаПрошлоеПолугодие | В диапазон значений подставляется прошлое полугодие. | | ||
+ | | ЗаПрошлыйГод | В диапазон значений подставляется прошлый год. | | ||
+ | | НеделюНазад | В диапазон значений подставляется интервал на неделю назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | МесяцНазад | В диапазон значений подставляется интервал на месяц назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | КварталНазад | В диапазон значений подставляется интервал на квартал назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ПолугодиеНазад | В диапазон значений подставляется интервал на полугодие назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ГодНазад | В диапазон значений подставляется интервал на год назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ДваГодаНазад | В диапазон значений подставляется интервал на 2 года назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ТриГодаНазад | В диапазон значений подставляется интервал на 3 года назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ПятьЛетНазад | В диапазон значений подставляется интервал на 5 лет назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ДесятьЛетНазад | В диапазон значений подставляется интервал на 10 лет назад, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | Завтра | В диапазон значений подставляется дата следующего дня. | | ||
+ | | СледующаяНеделя | В диапазон значений подставляется следующая неделя. | | ||
+ | | СледующийМесяц | В диапазон значений подставляется за следующий месяц. | | ||
+ | | СледующийКвартал | В диапазон значений подставляется следующий квартал. | | ||
+ | | СледующееПолугодие | В диапазон значений подставляется следующее полугодие. | | ||
+ | | СледующийГод | В диапазон значений подставляется следующий год. | | ||
+ | | НеделюВперед | В диапазон значений подставляется интервал на неделю вперед, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | МесяцВперед | В диапазон значений подставляется интервал на месяц вперед, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | КварталВперед | В диапазон значений подставляется интервал на квартал вперед, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ПолугодиеВперед | В диапазон значений подставляется интервал на квартал вперед, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | | ГодВперед | В диапазон значений подставляется интервал на квартал вперед, считая от даты актуальности, которая задается в строке состояния Business Studio или в параметре "Дата актуальности" в **Настройках пользователя** на вкладке **Дополнительно**. | | ||
+ | <endTableBox|Таблица 4. Константы даты для подстановки в качестве диапазона> | ||
+ | |||
+ | В диапазон подставляются значения с 00ч 00мин дня начала интервала до 00ч 00мин дня, следующего за днем конца интервала. | ||
+ | |||
+ | == == | ||
+ | **Внимание!** Можно константу диапазона подставить для типа фильтрации "Значение". В этом случае работа будет происходить с датой начала диапазона. | ||
+ | ==== ==== | ||
+ | \\ | ||
+ | == == | ||
+ | **Внимание!** Константы значений нельзя подставлять для типа фильтрации "Диапазон". | ||
+ | ==== ==== | ||
+ | \\ | ||
+ | В качестве констант можно использовать параметры Корневого любого класса (справочника) в виде: | ||
+ | |||
+ | [<СистемноеНазваниеКласса>.<СистемноеНазваниеПараметра>] | ||
+ | |||
+ | Для хранения значений своих констант можно создавать параметры с помощью редактора классов и параметров MetaEdit (см. [[ru/technical_manual/editor_param_class]]). | ||
+ | |||
+ | Если в качестве константы подставляется параметр типа "Список", необходимо указывать тип фильтрации "Список значений". | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | [<contextnavigator>] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {(rater>id=ru_manual_filter_filter_element|name=Окно фильтра|type=vote|trace=ip|headline=off)} |