Difference between revisions of "Form.SetFilter"

From SunFlurry wiki
Jump to: navigation, search
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08: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