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

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

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

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