Новый элемент условного оформления

SeiOkami 532 5 13 15

Добавляет элемент условного оформления по параметрам

// Добавляет элемент условного оформления по параметрам
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/83
//
// Параметры:
//  УсловноеОформление	 - УсловноеОформлениеКомпоновкиДанных - Коллекция условного оформления
//  ОформляемыеПоля		 - Строка, Массив из Строка - Имена полей, на которых распространяется условное оформление
//  УсловияОтбора		 - Структура, Массив из Структура - Условия отбора оформления. 
//  ПараметрыОформления	 - Структура - Параметры оформления
// 
// Возвращаемое значение:
//  ЭлементУсловногоОформленияКомпоновкиДанных  - добавленный элемент
//
Функция НовыйЭлементУсловногоОформления(Знач УсловноеОформление, 
	Знач ОформляемыеПоля, Знач УсловияОтбора, Знач ПараметрыОформления) Экспорт
	
	НовыйЭлемент = УсловноеОформление.Элементы.Добавить();
	НовыйЭлемент.Использование = Истина;
	
	Для Каждого КлючИЗначение Из ПараметрыОформления Цикл
		НовыйЭлемент.Оформление.УстановитьЗначениеПараметра(КлючИЗначение.Ключ, КлючИЗначение.Значение);
	КонецЦикла;
	
	Если ТипЗнч(ОформляемыеПоля) = Тип("Строка") Тогда
		КоллекцияДобавляемыхПолей = СтрРазделить(ОформляемыеПоля, ",");
	Иначе
		КоллекцияДобавляемыхПолей = ОформляемыеПоля;
	КонецЕсли;
	
	Для Каждого ДобавляемоеПоле Из КоллекцияДобавляемыхПолей Цикл
		ОформляемоеПолеКомпоновкиДанных = НовыйЭлемент.Поля.Элементы.Добавить();
		ОформляемоеПолеКомпоновкиДанных.Использование = Истина;
		ОформляемоеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных(ДобавляемоеПоле);
	КонецЦикла;
	
	Если ТипЗнч(УсловияОтбора) = Тип("Массив") Тогда
		КоллекцияУсловий = УсловияОтбора;
	Иначе
		КоллекцияУсловий = Новый Массив(1);
		КоллекцияУсловий[0] = УсловияОтбора;
	КонецЕсли;
	
	Для Каждого УсловиеОтбора Из КоллекцияУсловий Цикл
		ЭлементОтбора = НовыйЭлемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЗаполнитьЗначенияСвойств(ЭлементОтбора, УсловиеОтбора);
	КонецЦикла;
	
	Возврат НовыйЭлемент;
	
КонецФункции
0

См. также

УстановитьУсловноеОформлениеДереваПодсистем (БСП)

СнятьУсловноеОформлениеСпискаЗначений (БСП)

ПредставлениеЭлементаУсловногоОформления (БСП)

ЗаполнитьУсловноеОформлениеСпискаФайлов (БСП)

ЗаполнитьУсловноеОформлениеСпискаПапок (БСП)

Условное оформление

Программное добавление условного оформления документа

УстановитьУсловноеОформлениеСпискаСертификатов (БСП)

Условное оформление на обычных формах (ОФ)

Модератору