Программное добавление раскраски строки по условию для справочника лидов
- Подробности
- Категория: 1C8.3
- Опубликовано 19.04.2024 09:42
- Автор: Super User
- Просмотров: 388
Задание: Раскрасить строки с заканчивающимися лидами серым цветом. Используем поле ДатаНачалаИзвещенияОЗакрытии для сравнения с текущей датой
Процедура ПриОткрытии(Отказ)
ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить(); // создаем новый элемент оформления
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // Создаем условие отбора для элемента оформления
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка.ДатаНачалаИзвещенияОЗакрытии"); // имя поля
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно; // вид сравнения
ЭлементОтбора.ПравоеЗначение = НачалоДня(ТекущаяДата()); // Значение для отбора
ЭлементОтбора.Использование = Истина;
ЦветФонаЛида = Новый Цвет(160,160,160);
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветФонаЛида);
ЭлементОформления.Использование = Истина;
// Добавим поля оформления, если ничего не добавлять, то система применит оформления ко всей строке:
// Создаем поля оформления
//ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
//ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ПолеДляОформления);
//ПолеОформления.Использование = Истина;
КонецПроцедуры
Вариант 2 - более сложное условия с двумя значениями
Процедура ПриОткрытии(Отказ)
ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить(); // создаем новый элемент оформления
ГруппаОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); // Создаем группу отбора для элемента оформления
ГруппаОтбора.Использование = Истина;
ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
// дата начала извещения меньше текущей даты
ЭлементОтбора1 = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // Элемент отбора для группы отбора
ЭлементОтбора1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка.ДатаНачалаИзвещенияОЗакрытии"); // имя поля
ЭлементОтбора1.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно; // вид сравнения
ЭлементОтбора1.ПравоеЗначение = НачалоДня(ТекущаяДата()); // Значение для отбора
ЭлементОтбора1.Использование = Истина;
// Незапоненное поле "ВариантЗавершения"
ЭлементОтбора2 = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // Элемент отбора для группы отбора
ЭлементОтбора2.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка.ВариантЗавершения"); // имя поля
ЭлементОтбора2.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; // вид сравнения
ЭлементОтбора2.Использование = Истина;
// Выделяем серым цветом
ЦветФонаЛида = Новый Цвет(160,160,160);
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветФонаЛида);
ЭлементОформления.Использование = Истина;
КонецПроцедуры