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