Не получается раскрасить строки табличной части документа

1. ipoloskov 162 26.12.16 10:36 Сейчас в теме
Управляемые формы.
Делаю так. Ничего не происходит. Подскажите, что неправильно?
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
    ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементУсловногоОформления.Использование = Истина;
    ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.БледноКрасноФиолетовый);
    ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
	
	ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Элементы.СоставБрак); //здесь в некоторых строках значение поля - "Истина"
	ЭлементОтбора.ПравоеЗначение = Истина;
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлементОтбора.Использование = Истина;
	
	Для Каждого Элемент Из Элементы.Состав.ПодчиненныеЭлементы Цикл
                //сюда заходит, элементы-колонки ТЧ перебирает
		ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
		ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Элемент);
		ОформляемоеПоле.Использование = Истина;
	КонецЦикла;
	
КонецПроцедуры
Показать
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. herfis 498 26.12.16 10:40 Сейчас в теме
Синтаксис:

Новый ПолеКомпоновкиДанных(<ПутьКДаннымПоля>)
Параметры:

<ПутьКДаннымПоля> (необязательный)

Тип: Строка.
Указывает путь к данным поля.

ЗЫ. То бишь, правильно так:
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СоставБрак");
+
3. ipoloskov 162 26.12.16 10:53 Сейчас в теме
(2)
Не получается
	ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СоставБрак");
	ЭлементОтбора.ПравоеЗначение = Истина;
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлементОтбора.Использование = Истина;
	
	Для Каждого Элемент Из Элементы.Состав.ПодчиненныеЭлементы Цикл
		ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
		ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Элемент.Имя);
		ОформляемоеПоле.Использование = Истина;
	КонецЦикла;
Показать

В предпоследней строке тоже поменял.
Может быть, надо не "СоставБрак", а "Объект.Состав.Брак"?

UPD. "Объект.Состав.Брак" тоже не сработало
+
4. ipoloskov 162 26.12.16 11:11 Сейчас в теме
Подобрал наконец, как нужно. В ЭлементОтбора.ЛевоеЗначение нужно указывать путь к данным ""Объект.Состав.Брак", а в ОформляемоеПоле.Поле - имя поля формы, например "СоставБрак".
Хотя и то, и другое - ПолеКомпоновкиДанных. It's a crazy
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементУсловногоОформления.Использование = Истина;
    ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.БледноКрасноФиолетовый);
    ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
	
	ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Состав.Брак");
	ЭлементОтбора.ПравоеЗначение = Истина;
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлементОтбора.Использование = Истина;
	
	Для Каждого Элемент Из Элементы.Состав.ПодчиненныеЭлементы Цикл
		ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
		ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Элемент.Имя);
		ОформляемоеПоле.Использование = Истина;
	КонецЦикла;
	
КонецПроцедуры
Показать
+
5. herfis 498 26.12.16 12:06 Сейчас в теме
(4) Да не, логично все. Написано же - <ПутьКДаннымПоля>. Просто я по-привычке как в отчете СКД ответил. А там обычно нет длинных путей к данным. Не сообразил.
+
Внимание! Тема сдана в архив

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