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