Имя: Пароль:
1C
1С v8
Условное оформление в расширении срабатывает не по условию
0 Обработка
 
29.05.21
17:14
Форма обработки, в нем таблица.
Хочу перекрашивать фон двух ячеек строки по условию.

Добавил форму в расширение
Добавил функцию в расширение.
Добавил свое условное оформление.
Но почему-то срабатывает все время не соблюдая условие отбора.

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

КонецПроцедуры
1 PR
 
29.05.21
17:46
А ОтборЭлемента.Использование = Истина; где?
2 Обработка
 
29.05.21
17:52
(1) Там в коде у других настроек в типовой не было этой команды я и не стал этого делать.
3 Обработка
 
29.05.21
17:54
(2) Прописал. Все равно у меня красный цвет не смотря на то что дата = 01.01.2022 0:00:00
или даже 01.03.2023 0:00:00
4 hhhh
 
29.05.21
19:42
(3) так у тебя же и написано WebЦвета.Красный. И у тебя красный. В чем прикол?
5 Обработка
 
30.05.21
07:56
(4) У меня пр и условии что срок годности просрочен должен быть красным. А не все время.
6 hhhh
 
30.05.21
08:00
(5) срок годности просрочен это должно быть больше или равно.
7 hhhh
 
30.05.21
08:03
(6) а нет, запутался.
8 Обработка
 
30.05.21
08:19
У меня Параметры.Дата = 29.05.2021 а ОстаткиСерийТекущиеГоденДо = 01.01.2022
и при этом ячейки закрашиваются красным.
9 Обработка
 
31.05.21
09:12
Так в чем проблема кто может подсказать?
10 DrZombi
 
гуру
31.05.21
09:15
(0) Очистить прошлое оформление не забыл?
11 DrZombi
 
гуру
31.05.21
09:16
+ Мало ли кто там что понаотлаживал :)
12 seevkik
 
31.05.21
09:27
Зачем два раза дублировать?
Зачем "ПолеЭлемента"?
Может лучше добавить условное оформление к списку, типа  "Элемент = ОстаткиСерий.УсловноеОформление.Элементы.Добавить()"?
Ну и главное - "Параметры.Дата" когда устанавливается? Практически уверен, что позже
Точку остановы на эту строчку надо "ОтборЭлемента.ПравоеЗначение = Параметры.Дата;"

Ну и кэш продуть если ничего не помогло
13 Обработка
 
01.06.21
12:22
Проблема до сих пор не решена.
Все перепробовал.
14 Обработка
 
01.06.21
20:20
Решил проблему. Подсказали. Кому интересно озвучу.
Надо писать так:
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОстаткиСерийТекущие.ГоденДо");

то есть вместо "ОстаткиСерийТекущиеГоденДо"  надо "ОстаткиСерийТекущие.ГоденДо"
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.