Имя: Пароль:
1C
1С v8
Отбор в динамическом списке
0 Rusf1n
 
08.08.16
13:08
Добрый день. Имеется динамический список с 4 колонками, ссылающийся на регистр сведений. По одной колонке "Наименование" отбор происходит нормально, а вот по Периоду отбор не могу реализовать. Подскажите что делаю не так? Заранее спасибо. Код ниже.

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

    Отбор                  =  ПередаваемыеДанные.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.Родитель = ГруппаОтбор;
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Период");
    Отбор.ВидСравнения     = ВидСравненияКомпоновкиДанных.Равно;
    Отбор.Использование    = Истина;
    Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
    Отбор.ПравоеЗначение   = ТекущаяДата();    
КонецПроцедуры
1 Fragster
 
гуру
08.08.16
13:13
вероятно периодичность - день, и надо использовать НачалоДня(ТекущаяДата())
2 Rusf1n
 
08.08.16
13:39
Периодичность - в пределах секунды. Поставил НачалоДня(ТекущаяДата()) - отбор вообще пропал и ничего не отображается
3 Alloev
 
08.08.16
13:58
Он же при таком раскладе вероятно отображает записи за текущую секунду. А надо за текущий день?
4 Rusf1n
 
08.08.16
14:23
Пробовал менять, 1с сразу вылетает. Если стоит периодичность " в пределах секунды" и если устанавливать отбор стандартными средствами, то все нормально работает. Но чтобы делать меньше телодвижений, хотелось бы чтобы отбор проходил на текущую дату программно
5 Alloev
 
08.08.16
14:28
Может это можно сделать как-то умнее, но я бы вместо отбора на "равно ТекущаяДата()" поставил два отбора на "больше или равно НачалоДня(ТекущаяДата())" и на "меньше или равно КонецДня(ТекущаяДата())".
6 aleks_default
 
08.08.16
14:30
(2)Естественно на текущую секунду ничего не подтянется.
Делай период больше Даты1 и меньше Даты2
7 Rusf1n
 
08.08.16
15:01
(5) и (6) Спасибо огромное, все получилось!