Программная установка условного оформления (УО) поля динамического списка

andrey5565 35 1 3

1. Процедура находится в ОбщемМодуле (К примеру, ОбщегоНазначенияНаСервере); 2. Вызываться может как ПриСозданииНаСервере, так и ПриИзменении, например статуса документа/ заказа (засчет ветвления); 3. При вызове в событии ПриСозданииНаСервере перед вызовом процедуры лучше очистить элементы условного офомления: УсловноеОформление.Элементы.Очистить(); 4.Процедуру можно дорабатывать под свои хотелки, но для программного создания элементов ОУ, обязательно передавать параметр УсловноеОформление по ссылке;

Процедура НазваниеПроцедуры(УсловноеОформление, ТаблицаЗначений = Неопределено, НомерПриОтображении = Неопределено, Цвет = Неопределено) Экспорт
	
	Если  УсловноеОформление.Элементы.Количество() = 0  Тогда
		//ПриСозданииНаСервере => Перед вызовом функции чистим Элементы УО:  УсловноеОформление.Элементы.Очистить();
		//Секция: Какое условное оформление нужно задать при генерации формы на сервере?
		Для каждого Строка Из ТаблицаЗначений Цикл
		
			ЭлементОформления 	= УсловноеОформление.Элементы.Добавить();  
			
			ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.НомерПриОтображении");
			ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
			ЭлементОтбора.ПравоеЗначение = Строка.НомерПриОтображении;
			ЭлементОтбора.Использование = Истина;
			
			ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить(); 
			ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Оформление");
			ОформляемоеПоле.Использование = Истина; 
			
                        //можем настроить любой параметр =>
			ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Строка.ЦветСтатуса); 
			
		КонецЦикла;
		
	Иначе
		
		//ПриИзменении цвета пользователем интерактивно;
	        //Секция: Какое условное оформление нужно задать при изменении элемента, установлении нового статуса, выполнении 
                //условия и т.п.	
		
		Для каждого ЭлементУО Из УсловноеОформление.Элементы Цикл
			Если СтрНайти(ЭлементУО.Отбор, НомерПриОтображении) > 0 Тогда
				ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", Цвет); 
			КонецЕсли;		
		КонецЦикла;
		
	КонецЕсли;

КонецПроцедуры // ()
0
Орфографическая ошибка в засчет: засчет
Орфографическая ошибка в офомления: офомления
Орфографическая ошибка в хотелки: хотелки

Рекомендации

См. также

1с83. Шаблон кода для программной установки условного оформления поля динамического списка

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

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

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

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

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

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

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

Установить отбор пользовательских настроек динамического списка

TurboConf - расширение Конфигуратора 1С

Комментарии

Модератору