Не могу раскрасить поле формы.

1. VID1234 110 20.03.23 11:00 Сейчас в теме
Здравствуйте. Есть код:
Для Каждого Элем Из Резолт Цикл	
				Если Элем.ЗаписьПосещения = "-" Или Элем.ЗаписьПосещения = "" Тогда
					//Имячко = "_" + СтрЗаменить(Элем.Дата,"-","_");
					//НСтр[Имячко] = "В";
				Иначе
					ВремяСтрФакт = Элем.ФактическоеВремяПрихода;
					Части = СтрРазделить(ВремяСтрФакт, ":");
					Время = Дата(1, 1, 1, Части[0], Части[1], 00);
					Если Время > Результат[0].Условие1_ПриходНеПозже Тогда
						ЭлементУО = УсловноеОформление.Элементы.Добавить();
						ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
						ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Колонка_" + СтрЗаменить(Элем.Дата,"-","_"));
						ОформляемоеПоле.Использование = Истина;
						ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный);
						Имячко = "_" + СтрЗаменить(Элем.Дата,"-","_");
					    НСтр[Имячко] = 8; 
					КонецЕсли;
				КонецЕсли;			
			КонецЦикла;
Показать

Если условие выполняется, то мне нужно чтобы фон ячейки (поля) табличной части стала красной. Все реквизиты добавлены программно. Не получается, код успешно завершается, но ТЧ без раскраски, что может быть еще или какие еще есть варианты?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VID1234 110 20.03.23 11:12 Сейчас в теме
(1)Вроде получилось
ЦветПоляТаблицы = Новый Цвет (255,0,0);
						Элементы["Ко
лонка_" + СтрЗаменить(Элем.Дата,"-","_")].ЦветФона = ЦветПоляТаблицы;
3. Sashares 34 20.03.23 12:28 Сейчас в теме
(2)Зачем тогда условное оформление, если вы явно колонке цвет фона задаете?

Ну и в условном оформлении у вас нет самого главного - условия при котором оно должно срабатывать.
4. VID1234 110 20.03.23 12:44 Сейчас в теме
(3)Здравствуйте. Я хотел без отбора, условия через условный оператор.
5. Sashares 34 20.03.23 13:18 Сейчас в теме
(4)Без условия не будет работать, т.к. не имеет смысла. Это же УСЛОВНОЕ оформление.
Если нужно чтобы цвет был другой всегда, зачем тогда условное оформление - просто задайте в свойствах поля.
6. VID1234 110 20.03.23 14:19 Сейчас в теме
7. VID1234 110 20.03.23 16:15 Сейчас в теме
(5)Не то оказывается, у меня полностью окрашивается колонка, а мне нужно только ячейку (поле.
8. Sashares 34 20.03.23 16:21 Сейчас в теме
(7)Ну вот, для этого надо задать условие, чтобы платформа могла понять, что ячейку надо раскрасить именно в этой строке.
Для этого в строке должен быть какой то признак, по которому можно задать условие.
9. VID1234 110 20.03.23 16:24 Сейчас в теме
(8)Так у меня все условия в коде прописаны, сравнить не с чем.
Например:
&НаКлиенте
Процедура ВыполнитьДействиеПриИзмененииДанных(Элемент)
	
	ТекДанные = Элементы.Таб.ТекущиеДанные;
	Итог = 0;
	Для Каждого Река ИЗ ДобавленныеПоля Цикл
		Итог = Итог + ТекДанные[Река.РеквизитПоля]; 
	КонецЦикла;
	ТекДанные.Итого = Итог;
	УО(Элемент.Имя);
	
	//ЦветПоляТаблицыЗ = Новый Цвет (255,255,0);
	////Элемент.ЦветФона = ЦветПоляТаблицыЗ;
	//Элементы.Таб.сотрудник.ЦветФона = ЦветПоляТаблицыЗ;
	
КонецПроцедуры
Показать

При изменении значения пользователем, фон ячейки должен стать желтым.
10. пользователь 20.03.23 16:33
Сообщение было скрыто модератором.
...
11. VID1234 110 20.03.23 16:51 Сейчас в теме
(10) Здравствуйте. Условие, но только эти данные получаются только в коде и запросом со справочника, в поле совсем другие значения, если можете подсказать как, то буду благодарен.
12. пользователь 20.03.23 16:53
Сообщение было скрыто модератором.
...
13. VID1234 110 20.03.23 17:16 Сейчас в теме
(12)Ок, а как можно при изменении пользователем сделать. Т.е. при срабатывании события "ПриИзменении", чтобы ячейка (поле) стало желтым?
14. пользователь 20.03.23 17:22
Сообщение было скрыто модератором.
...
15. VID1234 110 20.03.23 18:14 Сейчас в теме
(14) Спасибо. Получилось в коде основном, а при изменении не могу добиться, все равно полностью вся колонка перекрашивается.
УО(Итог, Итог,Элемент.Имя, 3);

Процедура УО(Пар1, Пар2, Имя, Вид)
	
	Если Вид = 1 Тогда
		ЭлементОформленияГолубой = УсловноеОформление.Элементы.Добавить();
		ЭлементОформленияГолубой.Использование = Истина;
		ЭлементОформленияГолубой.Оформление.УстановитьЗначениеПараметра("ЦветФона",  WebЦвета.Красный);
		
		ЭлементУсловияГолубой                = ЭлементОформленияГолубой.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЭлементУсловияГолубой.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Таб.Итого");
		ЭлементУсловияГолубой.ПравоеЗначение = 0;//Новый ПолеКомпоновкиДанных("Таб.Условие1"); 
		ЭлементУсловияГолубой.ВидСравнения   = ВидСравненияКомпоновкиДанных.Больше;
		ЭлементУсловияГолубой.Использование  = Истина;
		
		ОформляемоеПоле      = ЭлементОформленияГолубой.Поля.Элементы.Добавить();
		ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Имя);	
	ИначеЕсли Вид = 2 Тогда
		ЭлементОформленияГолубой = УсловноеОформление.Элементы.Добавить();
		ЭлементОформленияГолубой.Использование = Истина;
		ЭлементОформленияГолубой.Оформление.УстановитьЗначениеПараметра("ЦветФона",  WebЦвета.БледноЗеленый);
		
		ЭлементУсловияГолубой                = ЭлементОформленияГолубой.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЭлементУсловияГолубой.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Таб.Итого");
		ЭлементУсловияГолубой.ПравоеЗначение = 0;//Новый ПолеКомпоновкиДанных("Таб.Условие2"); 
		ЭлементУсловияГолубой.ВидСравнения   = ВидСравненияКомпоновкиДанных.Больше;
		ЭлементУсловияГолубой.Использование  = Истина;
		
		ОформляемоеПоле      = ЭлементОформленияГолубой.Поля.Элементы.Добавить();
		ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Имя);
	ИначеЕсли Вид = 3 Тогда
		ЭлементОформленияГолубой = УсловноеОформление.Элементы.Добавить();
		ЭлементОформленияГолубой.Использование = Истина;
		ЭлементОформленияГолубой.Оформление.УстановитьЗначениеПараметра("ЦветФона",  WebЦвета.Желтый);
		
		ЭлементУсловияГолубой                = ЭлементОформленияГолубой.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЭлементУсловияГолубой.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Таб.Итого");
		ЭлементУсловияГолубой.ПравоеЗначение = 0;//Новый ПолеКомпоновкиДанных("Таб.Условие3"); 
		ЭлементУсловияГолубой.ВидСравнения   = ВидСравненияКомпоновкиДанных.Больше;
		ЭлементУсловияГолубой.Использование  = Истина;
		
		ОформляемоеПоле      = ЭлементОформленияГолубой.Поля.Элементы.Добавить();
		ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Имя);
Показать
16. VID1234 110 20.03.23 18:17 Сейчас в теме
(15)Все понял, у меня по итого сделано, а там всегда > 0 некорректно будет работать.
17. пользователь 20.03.23 18:18
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

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