Имя: Пароль:
1C
 
косячу с условным оформлением
0 vava34
 
30.08.19
19:33
Ребят, у кого есть свободная минутка, подскажите в чем ошибка с программным условным оформлением. Хотел наложить условное оформление на одну из табличных частей на основании отбора по массиву из другой табличной части.
(Собираю массив товаров из ТЧ Детализация, хочу найти их в ТЧ Спецификация и покрасить в цвет ячейку Объект.Спецификация.Объект).

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

    ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("СпецификацияОбъект");
    ОформляемоеПоле.Использование = Истина;

    
КонецПроцедуры
1 vava34
 
30.08.19
19:34
Так же хотелось бы узнать, возможна ли очистка от условного оформления только этой ТЧ "Спецификация" (чтобы не переписывать условное оформление других табличных частей)
Независимо от того, куда вы едете — это в гору и против ветра!