Difference between revisions of "Form.SetFilter"
(No difference)
|
Revision as of 10:11, 16 July 2020
| 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