Условное оформление табличной части
☑
0
golem14
07.05.20
✎
12:38
Не могу понять почему код не работает
<code>
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Установим условное оформление
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТабличнаяЧасть1.Имя);
ПолеОформления.Использование = Истина;
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТабличнаяЧасть1.Дата");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
ЭлементОтбора.ПравоеЗначение = ТекущаяДата();
ЭлементОтбора.Использование = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный);
КонецПроцедуры
</code>
1
butterbean
07.05.20
✎
12:43
что значит "не работает"?
2
golem14
07.05.20
✎
12:46
(1) ошибок не выдает, но и цвет фона в красный не окрашивает
3
Franchiser
гуру
07.05.20
✎
12:46
Дата содержит секунды?
4
golem14
07.05.20
✎
12:47
(3) нет
5
Franchiser
гуру
07.05.20
✎
12:48
А если так окрашивает:
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
6
Franchiser
гуру
07.05.20
✎
12:50
НачалоДня(ТекущаяДата())
7
golem14
07.05.20
✎
12:51
(5) о шайтан вся табличная часть стала красной,
8
Franchiser
гуру
07.05.20
✎
12:52
Значит проблема в значении.
УО работает, а ты неправильно сравниваешь.
9
golem14
07.05.20
✎
13:03
Спасибо, все получилось, вот работающий код:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Установим условное оформление
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТабличнаяЧасть1);
ПолеОформления.Использование = Истина;
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТабличнаяЧасть1.Дата");
//ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
ЭлементОтбора.ПравоеЗначение = ТекущаяДата();
ЭлементОтбора.Использование = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный);
КонецПроцедуры
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой