1. ipoloskov 64 26.12.16 10:36 Сейчас в теме

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

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

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

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

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

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

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

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

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы интеграций (1С)
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы сервисов FRM на 1С
Москва
зарплата от 150 000 руб.
Полный день

Консультант-аналитик 1С (ЗУП)
Санкт-Петербург
Полный день