0
vava34
30.08.19
✎
19:33
|
Ребят, у кого есть свободная минутка, подскажите в чем ошибка с программным условным оформлением. Хотел наложить условное оформление на одну из табличных частей на основании отбора по массиву из другой табличной части.
(Собираю массив товаров из ТЧ Детализация, хочу найти их в ТЧ Спецификация и покрасить в цвет ячейку Объект.Спецификация.Объект).
&НаСервере
Процедура ОформитьНаСервере()
МассивПромаркированных = Новый Массив;
ТЗДетализация = Объект.Детализация.Выгрузить();
ТЗДетализация.Свернуть("Объект, Промаркирована");
Для каждого стр Из ТЗДетализация Цикл
Если стр.Промаркирована = Истина Тогда
МассивПромаркированных.Добавить(стр.Объект);
КонецЕсли;
КонецЦикла;
Если МассивПромаркированных.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ЭлементУО = УсловноеОформление.Элементы.Добавить();
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля._ИМЦ_ЦветФонаПромаркирован);
//ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
//ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("СпецификацияОбъект");
ЭлементУсловия = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных ("Объект.Спецификация.Объект");
ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементУсловия.ПравоеЗначение = МассивПромаркированных;
ЭлементУсловия.Использование = Истина;
ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("СпецификацияОбъект");
ОформляемоеПоле.Использование = Истина;
КонецПроцедуры
|
|