Не получается раскрасить строку ТЗ на форме УФ

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


Но увы ничего не раскрашивается :(
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
8. Vlan 36 29.06.22 09:39 Сейчас в теме
(3) Вот так у меня раскрашивается таблица значений на форме

ЭлементОформления = УсловноеОформление.Элементы.Добавить(); //Выделим желтым первые места
	    ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Таб.Место");
	    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	    ЭлементОтбора.ПравоеЗначение = 1;
	    ЭлементОтбора.Использование = Истина;
	    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 255, 100)); //желтый
	    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", Новый Цвет(255, 0, 0));  //красный
	    ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
	    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Таб");
	    ПолеОформления.Использование = Истина;
	    ЭлементОформления.Использование = Истина;
Показать
10. spacecraft 29.06.22 09:53 Сейчас в теме
(9)
с примером с ИТС - пока глухо как в танке )))

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

ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.тзТаб2Цвет);
Показать

Вместо "тзТаб2Цвет" подставить как колонка называется в списке элементов формы.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 29.06.22 07:58 Сейчас в теме
(1)Можно через условное оформление формы списка сделать по условию
5. spacecraft 29.06.22 09:00 Сейчас в теме
(1) не задано, куда применять УО.
Вот пример с ИТС:
&НаСервере
Процедура УстановитьУсловноеОформление()
 
 УсловноеОформление.Элементы.Очистить();
 
 Элемент = УсловноеОформление.Элементы.Добавить();

 ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
 ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТоварыУпаковка.Имя);

 ГруппаОтбора1 = Элемент.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
 ГруппаОтбора1.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;

 ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
 ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("АдресноеХранение");
 ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
 ОтборЭлемента.ПравоеЗначение = Ложь;

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

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

 Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);

КонецПроцедуры
Показать
6. makfromkz 35 29.06.22 09:04 Сейчас в теме
7. SlavaKron 29.06.22 09:09 Сейчас в теме
(1) Не задано оформляемое поле (таблица).
3. makfromkz 35 29.06.22 08:09 Сейчас в теме
а может у меня не раскрашивается из-за того, что у меня никак не динамический список, таблица значений на форме ?
8. Vlan 36 29.06.22 09:39 Сейчас в теме
(3) Вот так у меня раскрашивается таблица значений на форме

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


Тоже пошел смотреть/пробовать, с примером с ИТС - пока глухо как в танке )))
10. spacecraft 29.06.22 09:53 Сейчас в теме
(9)
с примером с ИТС - пока глухо как в танке )))

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

ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.тзТаб2Цвет);
Показать

Вместо "тзТаб2Цвет" подставить как колонка называется в списке элементов формы.
11. makfromkz 35 29.06.22 10:33 Сейчас в теме
(8)

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

но все равно не сработало, менял тзТаб1 на тзТаб2
где тзТаб1 это табличное поле на форме, а тзТаб2 это объект из РеквизитФормыВЗначение("тзТаб1)
в общем пока не выходит раскраски
12. spacecraft 29.06.22 10:43 Сейчас в теме
(11)
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Тзаб2.Цвет");

тут опечатка.

(11)
где тзТаб1 это табличное поле на форме, а тзТаб2 это объект из РеквизитФормыВЗначение("тзТаб1)

использовать нужно не объект полученный таким способом, а имя реквизита формы. Т.е. "ТзТаб1" для отбора и имя элемента формы "ТзТаб1" (или как он называется в списке элементов формы) для Поле оформления.
16. makfromkz 35 29.06.22 11:26 Сейчас в теме
(12) Да, "Тзаб2.Цвет" - это опечатка,
13. Vlan 36 29.06.22 10:52 Сейчас в теме
(11) А вы уверены, что правое значение совпадает? Попробуйте вместо текста число.
14. Vlan 36 29.06.22 10:54 Сейчас в теме
(11)
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Тзаб2.Цвет");


Тут нет ошибки?
15. makfromkz 35 29.06.22 11:20 Сейчас в теме
(14) Да, ачипятка, говорила мне мама что из меня не выйдет наборщик текста )))
4. makfromkz 35 29.06.22 08:13 Сейчас в теме
Правда, из конфигуратора могу раскрасить ячейку таблицы
Прикрепленные файлы:
17. makfromkz 35 29.06.22 11:29 Сейчас в теме
(16) Всем СПАСИБО!!!

Помогли прорваться к решению.
Прикрепленные файлы:
18. Vlan 36 29.06.22 12:10 Сейчас в теме
(17) Только цвет все равно не синий. Шутка. :-)
Удачи!
19. makfromkz 35 29.06.22 13:24 Сейчас в теме
вопрос: а в два цвета можно строки раскрасить?
условие1 - синий
условие 2 - зеленый
20. spacecraft 29.06.22 13:31 Сейчас в теме
(19) скопировать этот же код еще раз и установить для второго набора свои значения.
21. makfromkz 35 29.06.22 13:40 Сейчас в теме
(20) я так и сделал, увы первый цвет пашет, второй нет
22. makfromkz 35 29.06.22 13:40 Сейчас в теме
давайте я новую тему открою
Оставьте свое сообщение

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