Имя: Пароль:
1C
 
Не отрабатывает отбор в условном оформлении (программно)
0 WhiteDragon93
 
06.07.18
09:05
Всем привет, есть программно созданное условное оформление, не могу понять почему не отрабатывает отбор, красится при любых условиях.

П.С. Оставлял только отбор, где явно указывается дата, не помогло.

ЭлементУО = ЭтаФорма.Список.УсловноеОформление.Элементы.Добавить();
    ЭлементУО.Представление = "Раскраска по дате смены статуса";
    ЭлементУО.ПредставлениеПользовательскойНастройки = "Раскраска по дате смены статуса";
    
    ПолеОформления      = ЭлементУО.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Статус");
    ПолеОформления.Использование = Истина;
    
    ПолеОформления      = ЭлементУО.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("мтаОтветственныйЗаСменуСтатуса");
    ПолеОформления.Использование = Истина;
    
    ПолеОформления      = ЭлементУО.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Клиент");
    ПолеОформления.Использование = Истина;
    
    ПолеОформления      = ЭлементУО.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("мтаПредполагаемаяДатаСменыСтатуса");
    ПолеОформления.Использование = Истина;
    
    ПолеОформления      = ЭлементУО.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ПотенциальнаяСуммаПродажи");
    ПолеОформления.Использование = Истина;

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

    ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СветлоКоралловый);
1 WhiteDragon93
 
06.07.18
09:11
+(0) одну из ошибок сам нашел, во втором элементе отбора не правильное сравнение, но его пробовал комментить, не взлетело
2 Тихий омут
 
06.07.18
09:12
ЭлементУсловия.ПравоеЗначение = Формат(НачалоДня(ТекущаяДата()), "ДФ=dd.MM.yyyy");

ты зачем дату в строку преобразовываешь?
3 olegves
 
06.07.18
09:14
МеньшеИлиРавно - пустая дата всегда меньше любой даты, поскольку равна 01.01.0001
4 WhiteDragon93
 
06.07.18
09:15
(2) это я уже метод "научного тыка" пытался применить, забыл откатить, без этого результат был тот же
5 olegves
 
06.07.18
09:16
для второго надо бы добавить:
    СписокСтатусов.Добавить(Перечисления.СтатусыСделок.ПустаяСсылка);
6 WhiteDragon93
 
06.07.18
09:18
(5) в целом, он пустым не бывает, но обезопаситься стоит, спасибо
7 hhhh
 
06.07.18
10:23
(6) вот это что-то совсем не в ту степь

  ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;

то есть не равно списку  ??

там нужно какой-то вид сравнения со списком: в списке, не в списке.