1C Условное оформление формы программно 8.3, табличной части, динамического списка

1C Условное оформление формы программно 8.3

В интерфейсе 1с 8.3 для элементов управления условное оформление можно настроить, например, у формы и у динамического списка.

Можно сделать это инерактивно через интерфейс или программно.

Пример программной настройки колонок таблицы формы на управляемой форме:

Вариант 1. Через условное оформление формы:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Установим условное оформление
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТаблицаФормы.Имя);
ПолеОформления.Использование = Истина;
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Список.ИмяКолонкиДинСписка»);
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;
ЭлементОтбора.Использование = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра(«ЦветФона», WebЦвета.Красный); КонецПроцедуры

Тут создали элемент условного оформления и указали, что оно будет применяться к ТаблицаФормы

Вариант 2. Через условное оформление динамического списка:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Установим условное оформление
ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«ИмяКолонкиДинСписка»);
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;
ЭлементОтбора.Использование = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра(«ЦветФона», WebЦвета.Красный); КонецПроцедуры

В этом случае код получился короче, так как нет необходимости указывать саму таблицу формы.