Имя: Пароль:
1C
1С v8
Отбор в динамическом списке по складам (отпр, получатель)+Дата (докум за текущ. день)
0 SkillUp
 
22.05.19
10:31
Здр., нужна помощь, в ДС надо установить отборы по складу (отправитель, получатель) и по дате(т.е. документы, только за текущий день), по складам все норм., но вот за текущий день не выбирает, как правильно выполнить:

мой код:

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

КонецПроцедуры
1 hhhh
 
22.05.19
10:38
(0) попробуй использовать функции НачалоДня(), КонецДня()
2 SkillUp
 
22.05.19
10:41
(1) Хорошо, какой вид сравнения ставить тут - ЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Между НачалоДня(), КонецДня(), нету...
3 SkillUp
 
22.05.19
10:41
Какой вид сравнения?*
4 hhhh
 
22.05.19
10:48
(3) ну в интервале какой-то. есть там какой-то с интервалами?
5 SkillUp
 
22.05.19
11:08
(4) Короче так заработало, но как поставил вид сравнения больше или равно НачалоДня (ТекущаяДата())
пока другого способа не вижу...

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