Продолжение раскраски, теперь 2 цвета

1. makfromkz 35 29.06.22 13:44 Сейчас в теме
из предыдущей темы сделал дубли кода , поправил условия и значения

	ЭлементОформления = УсловноеОформление.Элементы.Добавить();
	ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("тзТаб1.Цвет");
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлементОтбора.ПравоеЗначение = "Синий";
	ЭлементОтбора.Использование = Истина;
	ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(100, 100, 255)); //синий
//	ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", Новый Цвет(0, 255, 0));  //красный
	ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
	ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("тзТаб1");
	ПолеОформления.Использование = Истина;
	ЭлементОформления.Использование = Истина;
	
	ЭлементОформления2 = УсловноеОформление.Элементы.Добавить();
	ЭлементОтбора2 = ЭлементОформления2.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора2.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("тзТаб1.Цвет");
	ЭлементОтбора2.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлементОтбора2.ПравоеЗначение = "Зеленый";
	ЭлементОтбора2.Использование = Истина;
	ЭлементОформления2.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(100, 255, 100)); //зеленый
//	ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", Новый Цвет(0, 255, 0));  //красный
	ПолеОформления2 = ЭлементОформления.Поля.Элементы.Добавить();
	ПолеОформления2.Поле = Новый ПолеКомпоновкиДанных("тзТаб1");
	ПолеОформления2.Использование = Истина;
	ЭлементОформления2.Использование = Истина;
Показать


В синий цвет красится, в зеленый - нет :(
По теме из базы знаний
Найденные решения
3. spacecraft 29.06.22 13:49 Сейчас в теме
(1)
ПолеОформления2 = ЭлементОформления.Поля.Элементы.Добавить();

Не то поле указано. Вместо ЭлементОформления нужно ЭлементОформления2.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 29.06.22 13:47 Сейчас в теме
(1) правильность написания Зеленый совпадает со значением в ячейке?
4. makfromkz 35 29.06.22 13:53 Сейчас в теме
3. spacecraft 29.06.22 13:49 Сейчас в теме
(1)
ПолеОформления2 = ЭлементОформления.Поля.Элементы.Добавить();

Не то поле указано. Вместо ЭлементОформления нужно ЭлементОформления2.
5. makfromkz 35 29.06.22 13:54 Сейчас в теме
(3)
Не то поле указано. Вместо ЭлементОформления нужно ЭлементОформления2.


Сейчас проверю
6. Vlan 36 29.06.22 13:54 Сейчас в теме
Может все это запихнуть в одну процедуру с входными параметрами по цветам?
7. makfromkz 35 29.06.22 14:00 Сейчас в теме
(6)
одну процедуру с входными параметрами по цветам


у меня пока 2 цвета, при 3-х будем думать, а щас в начале пути)))
8. makfromkz 35 29.06.22 14:01 Сейчас в теме
СПАСИБО всем за помощь!!!
9. Vlan 36 29.06.22 14:01 Сейчас в теме
Как-то так:
Процедура ПолучитьОформлениеЦветом( ЦветТекстом, ЦветRGB)
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("тзТаб1.Цвет");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = ЦветТекстом;
    ЭлементОтбора.Использование = Истина;
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветRGB); //любой
    ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("тзТаб1");
    ПолеОформления.Использование = Истина;
    ЭлементОформления.Использование = Истина;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот