Иногда в Управляемых формах Списков необходимо сделать отбор по какому-либо полю, к примеру, что бы список документов можно было бы отфильтровать по полю Склад.

Выбрал сверху определённый склад и на форме отобразились документы только по этому складу.
Необходимо добавить на форму выпадающий список Складов, для этого создаётся на форме реквизит Склад и переносится на форму

В Модуле формы или в общем модуле нужно написать следующую функцию:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
&НаСервере Функция УстановитьОтборПоСкладу() Если ЗначениеЗаполнено(Склад) Тогда ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = Склад; Возврат ЭлементОтбора; Иначе Возврат Неопределено; КонецЕсли; КонецФункции |
Далее для поля выбора необходимо для события При изменении написать следующий код
|
1 2 3 4 5 |
&НаКлиенте Процедура СкладФильтрПриИзменении(Элемент) Список.Отбор.Элементы.Очистить(); СписокОтбора = УстановитьОтборПоСкладу(); КонецПроцедуры |
На выходе получаем такую форму, где будут фильтроваться документы по полю склад

