||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | |||
Добавление условного оформления программно (фрагмент типовой конфигурации)
  • adhocprog 0. 28.09.2022, 15:36

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

Ответы
  • Ответов: 0

Я Реклама

Интернет-магазин на 1С для продаж в розницу (с личным кабинетом) store-on-1c.ru