Difference between revisions of "Form.SetFilter"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:50, 7 February 2021
SetFilter (Работа со фильтрами таблиц) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция работает для табличных элементов, связанных с базой данных и позволяет установить или сбросить один фильтр по его наименованию, остальные фильтры, применяемые к таблице, не будут изменены. Начальные фильтры могут быть заданы в Студии при редактировании формы. Фильтры позволяют отображать содержимое таблицы в требуемом разрезе. Если второй аргумент отсутствует, фильтр будет удален. В наименование фильтра можно включать дополнительные признаки (префиксы), позволяющие задавать способ применения фильтра. Для более полной информации см. статью Стандартные фильтры (простой режим). Пример: Form.MainTab.SetFilter("<>@Status",1)
. Табличный элемент будет обновлен после каждого применения функции, если необходимо установить несколько фильтров, предпочтительнее пользоваться функциями SetFilters или SetFiltersAndPositionOnElement.
Синтаксис
Form.SetFilter(<Наименование фильтра (STRING)>,<Значение фильтра>)
Аргументы
<Наименование фильтра (STRING)>
- Аргумент задает наименование реквизита или особого реквизита объекта, элементы (документы) которого выведены в таблицу. До наименования может следовать префикс операции, списки возможных префиксов смотрите в Стандартные фильтры (простой режим).<Значение фильтра>
- Аргумент задает значение фильтра реквизита, заданного предыдущим аргументом. Если аргумент отсутствует, фильтр будет удален из фильтров табличного элемента.
Примеры
Function ОбновитьИПрименитьФильтры() оВид:=Form.оВид.Value; оКод:=Form.оКод.Value; Фл:=0; If оВид.SelectedLine()<=1 Then Form.MainTab.SetFilter("ВидДокумента"); Фл:=1; Else пВид:=Trim(оВид.Get(оВид.SelectedLine())); Form.MainTab.SetFilter("ВидДокумента",пВид); Фл:=1; EndIf; If оКод.SelectedLine()<=1 Then Form.MainTab.SetFilter("КодОперации"); Фл:=1; Else оКО:=оКод.Get(оКод.SelectedLine()); Form.MainTab.SetFilter("КодОперации",оКО); Фл:=1; EndIf; If not Фл Then Form.MainTab.Reload(); EndIf; EndFunction