Всем привет,
Задача раскрасить строки товаров в заказе в УТ11 если цена ниже чем в установке цен
Делаю через расширение
Добавил реквизит в таблицу, вывел галку что цена ниже прайса, но при добавлении условного оформления ничего не красится
(пробовал руками добавить в расширение на форму УО - ничего не наработает)

```1c
    &НаСервере
    Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    Для Каждого ТекТовары из Объект.товары Цикл

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
    |ИЗ
    | РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |ГДЕ
    | ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура
    | И ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены";

    Запрос.УстановитьПараметр("ВидЦены", ТекТовары.ВидЦены);
    Запрос.УстановитьПараметр("Номенклатура", ТекТовары.Номенклатура);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Если ТекТовары.Цена < ВыборкаДетальныеЗаписи.Цена тогда
    ТекТовары.Расш1_ЦенаНижеПрайса= истина;
    иначе
    ТекТовары.Расш1_ЦенаНижеПрайса= Ложь;
    КонецЕсли;
    КонецЦикла;

    КонецЦикла;
    УсловноеОформление.Элементы.Очистить();

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

    КонецПроцедуры
```
---
Поля в отборах условного оформления определяйте по пути к данным, как у вас и было. Мой предыдущий комментарий касался только оформляемых полей.
---
Спасибо добрый человек
все заработало
вот итоговое решение

```1c
    УсловноеОформление.Элементы.Очистить();

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

    ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары");
```
---
ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
Больше? При сравнении булево?
Также думаю надо указать элементы, на которые действует УО
---
Больше? При сравнении булево?
осталось от экспериментов
добавил что оформлять - все равно не работает (может ка кто не так добавил поле на оформление)

```1c
    УсловноеОформление.Элементы.Очистить();

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

    ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("объект.Товары.Расш1_ЦенаНижеПрайса");
```
---
может ка кто не так добавил поле на оформление
Оформляемое поле надо определять по наименованию элемента формы. У вас скорее всего это будет:
```1c
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ТоварыРасш1_ЦенаНижеПрайса");
```
---
Дополню комментарий из (5)
Если Вы хотите окрасить всю строку целиком, нужно указать имя элемента таблицы на форме. Т.е. скорее всего просто "Товары":

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

В отличие от условного оформления динамических списков, для таблиц формы обязательно указывать оформляемое поле.
---
смущает еще то что и стандартными средствами не работает.
---
"стандартное" не работает, т.к. программно удаляется.
&НаСервере
Процедура УстановитьУсловноеОформление()

 УсловноеОформление.Элементы.Очистить();
---
УсловноеОформление.Элементы.Очистить();
Этот кусок кода вставил для чистоты эксперимента (грешил что стандартные перехлестываются с программными настройками) - без него то же не работает стандартное УО.
---
все равно не работает - что то где то я упускаю

УсловноеОформление.Элементы.Очистить();

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

  ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
 ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары");
---
Поля в отборах условного оформления определяйте по пути к данным, как у вас и было. Мой предыдущий комментарий касался только оформляемых полей.
---
Спасибо добрый человек
все заработало
вот итоговое решение

```1c
    УсловноеОформление.Элементы.Очистить();

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

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