Есть обработка, которая использует сложный запрос, и прямо #НаСервере заполняется таблица значений.

Как сделать изменение фона строки таблицы значений в зависимости от значения одного из реквизитов таблицы значения.

P.S. вариант заполнить таблицу значений на сервере, а потом пройтись по каждой строке на клиенте не подходит, хотелось упростить вывод
---
Тут все написано: http://qa.erpstat.ru/public/00049.html
---
Если у Вас таблица значений отображается на форме, то можете сделать программное заполнение условного оформления формы.
---
Условное оформление можно делуть только на динамические списки и на табличные части. На таблицы значений увы
---
Уже года 3 как работаем: программно создаются реквизиты, в том числе типа "ТаблицаЗначений" и так же программно красятся. ЧЯДНТ??? Управляемые формы?

Вот пример из общего модуля:

```1c
    Процедура ДобавитьУсловноеОформление(Форма, ИмяТаблицы)
    ЭлементУсловноеОформление = Форма.УсловноеОформление.Элементы.Добавить();

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

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

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

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

    //делаем оформление
    ЭлементОформления = ЭлементУсловноеОформление.Оформление.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ЦветТекста"));
    Если ЭлементОформления <> Неопределено Тогда
    ЭлементОформления.Значение = Новый Цвет(255, 0, 0);
    ЭлементОформления.Использование = Истина;
    КонецЕсли;
    КонецПроцедуры
```
---
не совсем понял
---
В данном примере идет программное заполнение условного оформления как если бы у вас эта таблица (реквизит и элемент) были созданы интерактивно, В примере текст строки делается красным если реквизит "Изменена" стал равен Истина. Первый блок - условие, второй блок - на какие колонки таблицы распространяется действие условного оформления, третий - само оформление. Контекст серверный. Вынесено в общий модуль, т.к. вызов идет с разных форм.
---
а можно как нибудь посмотреть это в коде?
---
Само добавление условного оформления в (4), а вызов ниже:

```1c
    Процедура ХарактеристикиДобавитьЭлементы(Форма, ЭлементРодитель, ИмяТаблицы, ИмяТаблицыПодчиненные, НомерРеквизита, ИмяКоманды, Отбор = Неопределено)
    // добавляем таблицу
    ЭлементТаблица = Форма.Элементы.Добавить(ИмяТаблицы + НомерРеквизита + ИмяТаблицыПодчиненные, Тип("ТаблицаФормы"), ЭлементРодитель);
    ЭлементТаблица.ПутьКДанным = ИмяТаблицы;
    ЭлементТаблица.ИзменятьПорядокСтрок = Ложь;
    ЭлементТаблица.ИзменятьСоставСтрок = Ложь;
    ЭлементТаблица.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
    ЭлементТаблица.Отображение = ОтображениеТаблицы.Список;
    ЭлементТаблица.РежимВыделения = РежимВыделенияТаблицы.Одиночный;
    ЭлементТаблица.ВысотаВСтрокахТаблицы = 1;
    ЭлементТаблица.УстановитьДействие("Выбор", "ХарактеристикиВыбор");
    ЭлементТаблица.УстановитьДействие("ПриАктивизацииСтроки", "ХарактеристикиПриАктивизацииСтроки");
    ЭлементТаблица.УстановитьДействие("ПередНачаломИзменения", "ХарактеристикиПередНачаломИзменения");
    ЭлементТаблица.КонтекстноеМеню.ОтображениеПодсказки = ОтображениеПодсказки.Нет;

    // добавляем колонки
    Элемент = Форма.Элементы.Добавить(ИмяТаблицы + НомерРеквизита + ИмяТаблицыПодчиненные + "Характеристика", Тип("ПолеФормы"), ЭлементТаблица);
    Элемент.Вид = ВидПоляФормы.ПолеВвода;
    Элемент.ПутьКДанным = ИмяТаблицы + "." + "Характеристика";
    Элемент.ГоризонтальноеПоложениеВШапке = ГоризонтальноеПоложениеЭлемента.Центр;
    Элемент.ТолькоПросмотр = Истина;
    Элемент.Ширина = 10;

    Элемент = Форма.Элементы.Добавить(ИмяТаблицы + НомерРеквизита + ИмяТаблицыПодчиненные + "Значение", Тип("ПолеФормы"), ЭлементТаблица);
    Элемент.Вид = ВидПоляФормы.ПолеВвода;
    Элемент.ПутьКДанным = ИмяТаблицы + "." + "Значение";
    Элемент.ГоризонтальноеПоложениеВШапке = ГоризонтальноеПоложениеЭлемента.Центр;
    Элемент.ВыбиратьТип = Ложь;
    Элемент.ТолькоПросмотр = Ложь;
    Элемент.МногострочныйРежим = Истина;
    Элемент.Высота = 1;
    Элемент.УстановитьДействие("ПриИзменении", "ХарактеристикиЗначениеПриИзменении");
    Элемент.УстановитьДействие("НачалоВыбора", "ХарактеристикиЗначениеНачалоВыбора");
    Элемент.УстановитьДействие("Открытие", "ХарактеристикиЗначениеОткрытие");
    Элемент.Ширина = 5;
    Элемент.КнопкаОткрытия = Истина;
    Элемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать;

    Элемент = Форма.Элементы.Добавить(ИмяТаблицы + НомерРеквизита + ИмяТаблицыПодчиненные + "Дата", Тип("ПолеФормы"), ЭлементТаблица);
    Элемент.Вид = ВидПоляФормы.ПолеВвода;
    Элемент.ПутьКДанным = ИмяТаблицы + "." + "Дата";
    Элемент.УстановитьДействие("ПриИзменении", "ХарактеристикиДатаПриИзменении");

    // установим отбор
    ЭлементТаблица.ОтборСтрок = Отбор;

    ...; // остальное

    // добавим условное оформление
    ДобавитьУсловноеОформление(Форма, ЭлементТаблица.Имя);
    КонецПроцедуры
```

Ну и программное создание таблицы значений:

```1c
    Процедура ХарактеристикиДобавитьРеквизиты(Форма, ИмяТаблицы)
    МассивРеквизитов = Новый Массив;

    Реквизит = Новый РеквизитФормы(ИмяТаблицы, Новый ОписаниеТипов("ТаблицаЗначений"), , , Истина);
    МассивРеквизитов.Добавить(Реквизит);
    Форма.ИзменитьРеквизиты(МассивРеквизитов);

    // колонки таблицы характеристик
    МассивРеквизитов.Очистить();

    Реквизит = Новый РеквизитФормы("Характеристика", Новый ОписаниеТипов("СправочникСсылка.Характеристики"), ИмяТаблицы, НСтр("ru = 'Характеристика'; en = 'Characteristic'"));
    МассивРеквизитов.Добавить(Реквизит);

    Реквизит = Новый РеквизитФормы("Значение", Справочники.Характеристики.ПолучитьСуммарныйТип(), ИмяТаблицы, НСтр("ru = 'Значение'; en = 'Value'"));
    МассивРеквизитов.Добавить(Реквизит);

    Реквизит = Новый РеквизитФормы("Дата", ОбщегоНазначения.ОписаниеТипаДата(ЧастиДаты.Дата), ИмяТаблицы, НСтр("ru = 'Дата'; en = 'Date'"));
    МассивРеквизитов.Добавить(Реквизит);

    Реквизит = Новый РеквизитФормы("Изменена", Новый ОписаниеТипов("Булево"), ИмяТаблицы, НСтр("ru = 'Изменена'; en = 'Changed'"));
    МассивРеквизитов.Добавить(Реквизит);

    Форма.ИзменитьРеквизиты(МассивРеквизитов);
    КонецПроцедуры
```
---
Тут все написано: http://qa.erpstat.ru/public/00049.html
---
Сообщение было скрыто модератором.
---
Как же задолбали с сайтами в разработке
---
Так вроде понятно
---
Спасибо огромное за скрин!
---
Для тех, кто ищет, как изменить цвет ячейки в макете печатной формы, но спрашивает у гугля про Таблицу значений вместо макета, оставлю это здесь:
```1c
    Результат.Область(1,1,1,1).ЦветФона=Новый цвет(255,0,0);
```