Оформление цветом строки табличной части документа

1. Malcev_a 26.09.24 10:09 Сейчас в теме
Добрый день!
Задача оформить цветом строку табличной части документа. Гуглил, запутался, если честно, не понимаю что не так.
Вроде все прописал, не работает.
Подскажите вы чем проблема может быть?

ВыборкаТовары = РезультатЗапроса.Выбрать();
    
    ТЗТовары = РезультатЗапроса.Выгрузить(); 
    
    Для каждого Строка Из Объект.ТоварыКПокупке Цикл
        
        НайденныйТовар = ТЗТовары.Найти(Строка.Товар);
        
        Если НайденныйТовар = Неопределено Тогда
            
            А = Истина;
            
            УслОформлениеЗеленый = УсловноеОформление.Элементы.Добавить();
            ЦветФонаЗеленый = УслОформлениеЗеленый.Оформление.Элементы.Найти("ЦветФона");
            ЦветФонаЗеленый.Значение = WebЦвета.Зеленый;
            ЦветФонаЗеленый.Использование = Истина;
            НастройкаОтбора = УслОформлениеЗеленый.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НастройкаОтбора.ЛевоеЗначение = А;
            НастройкаОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
            НастройкаОтбора.ПравоеЗначение = Истина;
            ОформляемоеПоле = УслОформлениеЗеленый.Поля.Элементы.Добавить();
            ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных();
            ОформляемоеПоле.Использование = Истина;
            
            Сообщить("Товар не найден " + Строка.Товар);
            
        Иначе
            
            В = Истина;
            
            УслОформлениеЗеленый = УсловноеОформление.Элементы.Добавить();
            ЦветФонаЗеленый = УслОформлениеЗеленый.Оформление.Элементы.Найти("ЦветФона");
            ЦветФонаЗеленый.Значение = WebЦвета.Красный;
            ЦветФонаЗеленый.Использование = Истина;
            НастройкаОтбора = УслОформлениеЗеленый.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НастройкаОтбора.ЛевоеЗначение = В;
            НастройкаОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
            НастройкаОтбора.ПравоеЗначение = Истина;
            ОформляемоеПоле = УслОформлениеЗеленый.Поля.Элементы.Добавить();
            ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных();
            ОформляемоеПоле.Использование = Истина;
            
            Сообщить("Товар найден " + Строка.Товар);
            
        КонецЕсли;
        
    КонецЦикла;
 
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user2033930 26.09.24 10:18 Сейчас в теме
(1)
Подскажите вы чем проблема может быть?
Проблема в непонимании смысла условного оформления. Оно устанавливается раз и навсегда для всего табличного поля формы. А платформа уже сама раскрашивает строки, в зависимости от их содержимого.
А ты пытаешься в цикле для каждой строки что-то изменить.

И да, у оформляемого поля есть имя, по которому система хочет понять - а что ты, собственно говоря, раскрашивать собрался - забор на даче, или ноготь на мизинце?

// Земеля, не позорь Вятку!
4. Malcev_a 26.09.24 10:23 Сейчас в теме
(3)
а, у оформляемого поля есть имя, по которому система хочет понять - а что ты, собственно говоря, раскрашивать собрался - з


Дружище, я учусь еще. На профессионализм пока что не претендую. За добрый совет был бы благодарен.
Спасибо за отклик, пошел дальше читать
6. user2033930 26.09.24 10:38 Сейчас в теме
(4)
За добрый совет был бы благодарен.
А это разве не добрый совет - понять принцип того, что условное оформление устанавливается на форме вне зависимости от используемых данных?

Ну ладно, по-земельски вот тебе картинка (специально не куском кода), буквально на днях рисовал
Прикрепленные файлы:
2. Malcev_a 26.09.24 10:11 Сейчас в теме
Ругается на эту строку - ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(); такой конструктор не существует((
5. scarl1n 12 26.09.24 10:26 Сейчас в теме
Если есть возможность, попробуй воспользоваться свойством "Условное оформление" формы (ПКМ по "Форма" в элементах -> Условное оформление). Там интерфейсно все понятно.
Tatyana_012345; Bukaska; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот