Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

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)}
Driven by DokuWiki