Внешний вид оформления элементов управляемой формы можно динамически изменять в зависимости от данных управляемой формы без необходимости использования программного кода с помощью Условного оформления. А в таких случаях, как оформление строк и ячеек таблиц, где программный код применить нельзя, Условное оформление оказывается чрезвычайно полезным.
//
Условное оформление
Возможность применения условного оформления в управляемой форме реализуется свойством формы .УсловноеОформление типа УсловноеОформлениеКомпоновкиДанных. Форма позволяет применить неограниченное количество условных оформлений, заданных элементами типа ЭлементУсловногоОформленияКомпоновкиДанных, которые размещается в коллекции условного оформления .Элементы. Содержание коллекции элементов условного оформления можно задать в Конфигураторе, а также программным кодом. Элементы условного оформления позволяют изменить одно или сразу набор свойств:
- Цвет фона
- Цвет текста
- Шрифт
- Горизонтальное положение
- Формат
- Выделять отрицательные
- Отметка незаполненного
- Текст
- Видимость
- Доступность
- Только просмотр
- Отображать
Элемент условного оформления применяет оформление заданное свойством .Оформление типа ОформлениеКомпоновкиДанных к коллекции полей компоновки данных, заданной свойством .Поля типа ОформляемыеПоляКомпоновкиДанных, если выполняются условия, заданные коллекцией условий отбора свойством .Отбор типа ОтборКомпоновкиДанных:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
&НаСервере ... ЭлементОформления = ЭтаФорма.УсловноеОформление.Элементы.Добавить(); ЭлементОформления.Использование = Истина; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,225,0)); ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("НекоторыйЭлементФормы"); ЭлементУсловия = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.НекоторыйРеквизит"); ЭлементУсловия.ПравоеЗначение = КритерийЗначенияРеквизита; ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементУсловия.Использование = Истина; |
Это покажется странным, но .УсловноеОформление недоступно &НаКлиенте даже для чтения.
Элемент Условного оформления
Оформление
//
Поля
//
Отбор
//
Источники
//