четверг, 1 сентября 2016 г.

Програмный отбор в динамическом списке

//Отбор в динамическом списке (ДС)
//Группа
    ГруппаОтбора = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ГруппаОтбора.Использование  = Истина;
    ГруппаОтбора.ТипГруппы  = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;

//Элемент в группе (можно использовать и в единичном варианте без группы)
    //Отбор в динамическом списке по статусу
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
    ЭлементОтбора.ПравоеЗначение = Перечисления.СтатусыОтборовРазмещенийТоваров.ВыполненоБезОшибок;

//Отбор в динамическом списке по ПометкаУдаления
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаУдаления");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
    ЭлементОтбора.ПравоеЗначение = ИСТИНА;


//Отбор в динамическом списке по Проведеному доку
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Проведен");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = ИСТИНА;


//Отбор в динамическом списке по Проведеному доку
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
    ЭлементОтбора.ПравоеЗначение = НачалоДня(НачалоДня(ТекущаяДата())-1); // ТекущаяДата()-86400 ;


//Обновляем отбор в ДС
    ЭлементОтбора.Использование = Истина;
    Элементы.Список.Обновить();

//Скрываем некоторые элементы на форме (в форме)
Элементы.Распоряжение.Видимость = Ложь;
Элементы.ЗонаОтгрузки.Видимость = Ложь;
Элементы.ЗонаПриемки.Видимость = Ложь;