УстановитьФильтр

Устанавливает значение фильтра (в группе "Фильтрация") по указанному названию или адресу записи (или нескольких записей) с возможностью детализации данных по иерархии.

Синтаксис

Диалог.УстановитьФильтр(ИмяФильтра,ИмяЗаписи)
Диалог.УстановитьФильтр(ИмяФильтра,АдресЗаписи[, Да|Нет])
Диалог.УстановитьФильтр(ИмяФильтра,МассивАдресов)

Параметры

ИмяФильтра (текст) – имя фильтра, в который нужно поместить указанную запись (или несколько записей). Все возможные варианты фильтрации указаны в отчете в блоке "Фильтрация".

ИмяЗаписи (текст) – имя записи, которое нужно поместить в фильтр. Например, "МОЛ" можно установить по его названию.

АдресЗаписи (целое) – адрес записи в базе данных, которую нужно поместить в фильтр. Например, вариант вызова функции УстановитьФильтр(("МОЛ", 1) установит в фильтр "МОЛ" запись из таблицы лиц с позицией "1".

Да|Нет (логическое) – если указано значение "Да" (по умолчанию), то при фильтрации будет учитываться и содержимое папки, на которую указывает фильтр. Если указано значение "Нет", то при фильтрации не будет учитываться содержимое папки. Параметр отрабатывает по аналогии с флагом "Включая содержимое папки" в окне настройки параметров отчета.

МассивАдресов (массив) – вместо адреса одной записи может передаваться массив адресов, то есть для фильтра можно указать несколько значений, по которым будут отбираться данные для построения отчета.

Возвращает

Да (логическое значение) – если удалось установить значение фильтра.

Нет (логическое значение) – если не удалось установить значение фильтра.

Примеры

Чтобы установить конкретного поставщика, по которому нужно выполнить фильтрацию данных, можно воспользоваться следующим кодом, который выполниться, например, при нажатии на кнопку в отчете:

оЗапись=Лицо("7605015333", "Организации");
оЗапись.АдресЗаписи();
УстановитьФильтр("Поставщик", оЗапись.АдресЗаписи(), Нет);

Фрагмент использования функции при построении взаиморасчетов с поставщиками:

функция ПоказатьРасчетыЛица(пАдресЛица, лНапр, пДата)

{

  перем пОкно = Окно("Взаиморасчеты");
  перем пЗапись = пОкно.Запись("Взаиморасчеты");
  перем пПарам = пЗапись.ПараметрыВыборки();
  перем тЛ = Таблица("Лица");
  тЛ.Загрузить(пАдресЛица);
  перем пСчет = НайтиСчет(тЛ.СЧЕТ_РАЗДЕЛА);
  пПарам.ОчиститьЭлементы();
  пПарам.УстановитьФильтр("Счета", пСчет.АдресЗаписи());
  пПарам.УстановитьФильтр("Первые аналитики", пАдресЛица);
  Если(лНапр)
    пПарам.ВыбратьЭлемент("Третьи аналитики");
  пПарам.ДатНач = Мин(пДата, Месяц(ТекДата()) < 7 ? Дата(1, 7, Год(ТекДата())-2) : Дата(1, 1, Год(ТекДата())-1));
  пПарам.ДатКнц = ТекДата();
  пПарам.ФормаОтображения = "Взаиморасчеты";
  пПарам.СортировкаДокументов = "Датам";
  пПарам.Валюта = "рублях";
  пПарам.ТипыСчетов = "+Взаиморасчетные";
  пПарам.СворачиватьДвойные = "-Сворачивать двойные обороты";
  пПарам.ОбновитьПараметры();
  пЗапись.УстановитьПараметрыВыборки(пПарам);
  пОкно.Выполнить();
}