Имя: Пароль:
1C
1С v8
Как правильно задать условное оформление программно?
0 al_zzz
 
27.04.23
09:36
Управление торговлей, редакция 11 (11.4.9.82), 1С:Предприятие 8.3 (8.3.22.1704). Хочу раскрасить форму списка справочника "Номенклатура" в зависимости от марки(цвета хранятся в самой марке).

Сама процедура установки УО выглядит следующим образом:

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


Пробовал уже в качестве параметра "ПолеКД" передавать и "Ссылка.Марка", и "СписокНоменклатура.Ссылка.Марка". Проверил - код выполняется, ошибок нет, условия для установки фона выполнены. Однако форма списка не раскрашивается.
ЧЯДНТ?
1 Мультук
 
27.04.23
08:00
(0)
"Ссылка.Марка"

Так нельзя. Не работает.
Выведи Марка непосредственно в дин.список "СписокНоменклатура" и используй.

ИМХО.
2 al_zzz
 
27.04.23
09:31
(1) Добавил поле "Марка" в динамический список и вывел в элементы на форме. Пробовал и "Марка" и "СписокНоменклатура.Марка" и даже "СписокСтандартныйПоискНоменклатура.Марка" - никак не меняется фон.
3 mikecool
 
27.04.23
09:33
настрой УО в гуи, посомтри - чем отличается от того, что ты генеришь
4 Ботаник Гарден Меран
 
27.04.23
11:46
Эл Из Элементы[ИмяСписка].ПодчиненныеЭлементы
Новый ПолеКомпоновкиДанных(эл.Имя)

СП: Новый ПолеКомпоновкиДанных(<ПутьКДаннымПоля>)
5 al_zzz
 
28.04.23
05:31
Спасибо! Разобрался. Там текст запроса динамического списка переопределялся. Из-за этого не раскрашивалась форма списка.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.