Добрый день, уважаемые форумчане.

Интересует следующий момент, а именно:
Хочу разрисовать табличную часть документа в зависимости от нескольких условий, например:
У меня есть две колонки в табличной части ("заказано","доступно") если хотя бы одна из них не заполнена то шрифт текста в данной строке быть желтым,
если не заполнены обе колонки, то красным.

Сейчас я написал вот такой код:

```1c
    МассивИменКолонокДляПодсветки = Новый Массив;
    Для каждого Стр из Элементы.Товары.ПодчиненныеЭлементы Цикл
    МассивИменКолонокДляПодсветки.Добавить(Стр.Имя);
    КонецЦикла;

    ЭлементОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементОформления.Использование = Истина;
    //ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", ИСТИНА);
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.СероСиний);

    ЭлементУсловия = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Заказано");
    ЭлементУсловия.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.КоличествоУпаковок");
    ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше;
    //ЭлементУсловия.ПравоеЗначение = ТестНоменклатура;
    //ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементУсловия.Использование = Истина;

    Для каждого ТекЭлемент из МассивИменКолонокДляПодсветки Цикл
    ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ТекЭлемент);
    КонецЦикла;
```
---
Да. Я так понимаю основная проблема с И/Или? Добавьте группы условий, что то вида

```1c
    ЭлементУсловияГруппа = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ЭлементУсловияГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных .ГруппаИ;

    ЭлементУсловия1 = ЭлементУсловияГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Заказано");
    ЭлементУсловия1.ПравоеЗначение = 0;
    ЭлементУсловия1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;

    ЭлементУсловия2 = ЭлементУсловияГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия2.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Заказано");
    ЭлементУсловия2.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.КоличествоУпаковок");
    ЭлементУсловия2.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;

    .....
```
---
Дополню:
Дано три колонки
"Количество" | "Заказано" | "Доступно"
    3 2 1

Если у меня "заказано" и "доступно" не равны 0 и хотябы одна из них не равна количеству, то раскрашиваю желтым.
Можно ли такое условие написать в условном оформлении?
---
Да. Я так понимаю основная проблема с И/Или? Добавьте группы условий, что то вида

```1c
    ЭлементУсловияГруппа = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ЭлементУсловияГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных .ГруппаИ;

    ЭлементУсловия1 = ЭлементУсловияГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Заказано");
    ЭлементУсловия1.ПравоеЗначение = 0;
    ЭлементУсловия1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;

    ЭлементУсловия2 = ЭлементУсловияГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия2.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Заказано");
    ЭлементУсловия2.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.КоличествоУпаковок");
    ЭлементУсловия2.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;

    .....
```
---
Спасибо за ответ, дело пошло. Но есть такая проблема:
Сейчас у меня код написан во так, и все отрабатывает как и должно:

```1c
    //новый вариант

    МассивИменКолонокДляПодсветки = Новый Массив;
    Для каждого Стр из Элементы.Товары.ПодчиненныеЭлементы Цикл
    МассивИменКолонокДляПодсветки.Добавить(Стр.Имя);
    КонецЦикла;

    ЭлементОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементОформления.Использование = Истина;
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Зеленый);

    ЭлементУсловияГруппа = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ЭлементУсловияГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
    ЭлементУсловияГруппа.Использование = Истина;

    ЭлементУсловия2 = ЭлементУсловияГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия2.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Заказано");
    ЭлементУсловия2.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.КоличествоУпаковок");
    ЭлементУсловия2.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементУсловия2.Использование = Истина;

    ЭлементУсловия4 = ЭлементУсловияГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия4.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Доступно");
    ЭлементУсловия4.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.КоличествоУпаковок");
    ЭлементУсловия4.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементУсловия4.Использование = Истина;

    Для каждого ТекЭлемент из МассивИменКолонокДляПодсветки Цикл
    ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ТекЭлемент);
    КонецЦикла;
```

Но если я добавляю еще одну группу вот таким образом, то он вообще перестает красить строки, любые

```1c
    //равны 0

    ЭлементОформления2 = УсловноеОформление.Элементы.Добавить();
    ЭлементОформления2.Использование = Истина;
    ЭлементОформления2.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);

    ЭлементУсловияГруппа2 = ЭлементОформления2.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ЭлементУсловияГруппа2.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
    ЭлементУсловияГруппа2.Использование = Истина;

    ЭлементУсловия5 = ЭлементУсловияГруппа2.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия5.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Заказано");
    ЭлементУсловия5.ПравоеЗначение = 0;
    ЭлементУсловия5.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементУсловия5.Использование = Истина;

    ЭлементУсловия6 = ЭлементУсловияГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия6.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Доступно");
    ЭлементУсловия6.ПравоеЗначение = 0;
    ЭлементУсловия6.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементУсловия6.Использование = Истина;

    Для каждого ТекЭлемент из МассивИменКолонокДляПодсветки Цикл
    ОформляемоеПоле = ЭлементОформления2.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ТекЭлемент);
    КонецЦикла;
```
---
В своем примере ЭлементУсловия1 , ЭлементУсловия2 я использовал для наглядности, можно везде оставить ЭлементУсловия.
Вероятно Вы запутались с этими индексами... Первое условие добавляется в ЭлементУсловияГруппа2, второе условие добавляется в просто ЭлементУсловияГруппа (без двойки). Может тут проблема....?
---
Именно, уже поправил у себя все заработало. Сейчас буду пробовать группу "ИЛИ"
---
Раскрашивать ты хочешь не колонки а строки - судя по исходным данным.
А в коде пытаешься раскрашивать колонки