Добрый день!

Нужна помощь!

Есть справочник.
Справочник, в том числе, содержит реквизиты, в которых хранится числовой код цвета (RGB).
Нужно в форме списка этого справочника для одного из реквизитов, например код, установить фон в соответствии со значениями цветов (RGB) этого элемента.

Не понимаю - как для каждой строки установить свой цвет, который содержится в реквизитах элемента.
Подскажите, плиз!
---
Вместо ГСЧ используйте данные из реквизита.

```1c
    &НаСервереБезКонтекста
    Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    | Номенклатура.Ссылка КАК Ссылка,
    | Номенклатура.Код КАК Код
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.Ссылка В(&МассивСсылок)");
    Запрос.УстановитьПараметр("МассивСсылок", Строки.ПолучитьКлючи());
    Выборка = Запрос.Выполнить().Выбрать();
    ГСЧ = Новый ГенераторСлучайныхЧисел;
    Пока Выборка.Следующий() Цикл
    Оформление = Строки[Выборка.Ссылка].Оформление["Код"];
    ЦветЧислом = ГСЧ.СлучайноеЧисло(0, 16777215);
    Красный = ЦветЧислом % 256;
    Зеленый = (ЦветЧислом / 256) % 256;
    Синий = (ЦветЧислом / 65536) % 256;

    Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(Красный, Зеленый, Синий));
    КонецЦикла;
    КонецПроцедуры
```
---
Поддержу рекомедацию в (5), за одним лишь исключением: нет необходимости выполнять отдельный запрос для получения данных, т.к. в динамическом списке они уже должны быть.

Пусть в Вашей задаче в справочнике код цвета хранится в реквизите "КодЦвета". Если он не выводится в форме списка, установите напротив него флажок "Использовать всегда". Тогда код обработчика получения данных списка будет таким:

```1c
    &НаСервереБезКонтекста
    Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)

    Для каждого СтрокаДинСписка Из Строки Цикл

    КодЦвета = СтрокаДинСписка.Значение.Данные.КодЦвета;

    ЦветПоКоду = ... // здесь преобразуете свой код в Цвет

    ОформлениеКолонкиКод = СтрокаДинСписка.Значение.Оформление["Код"];
    ОформлениеКолонкиКод.УстановитьЗначениеПараметра("ЦветФона", ЦветПоКоду);

    КонецЦикла;

    КонецПроцедуры
```
---
Управляемые формы?
---
да управляемые формы 8.3
---
Если УФ, то через УсловноеОформление
---
Поддержу рекомедацию в (5), за одним лишь исключением: нет необходимости выполнять отдельный запрос для получения данных, т.к. в динамическом списке они уже должны быть.

Пусть в Вашей задаче в справочнике код цвета хранится в реквизите "КодЦвета". Если он не выводится в форме списка, установите напротив него флажок "Использовать всегда". Тогда код обработчика получения данных списка будет таким:

```1c
    &НаСервереБезКонтекста
    Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)

    Для каждого СтрокаДинСписка Из Строки Цикл

    КодЦвета = СтрокаДинСписка.Значение.Данные.КодЦвета;

    ЦветПоКоду = ... // здесь преобразуете свой код в Цвет

    ОформлениеКолонкиКод = СтрокаДинСписка.Значение.Оформление["Код"];
    ОформлениеКолонкиКод.УстановитьЗначениеПараметра("ЦветФона", ЦветПоКоду);

    КонецЦикла;

    КонецПроцедуры
```
---
ОформлениеКолонкиКод = СтрокаДинСписка.Значение.Оформление["Код"];
        ОформлениеКолонкиКод.УстановитьЗначениеПараметра("ЦветФона", ЦветПоКоду)
---
ОформлениеКолонкиКод = СтрокаДинСписка.Значение.Оформление["Код"];
        ОформлениеКолонкиКод.УстановитьЗначениеПараметра("ЦветФона", ЦветПоКоду);

Подскажите пожалуйста как окрасить строку не по конкретным колонкам а сразу всю строку?
---
С наскока в УО не вставить

Необходимо программно обновлять УО с генерацией элементов
Новый Цвет(R,G,B)
---
Вместо ГСЧ используйте данные из реквизита.

```1c
    &НаСервереБезКонтекста
    Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    | Номенклатура.Ссылка КАК Ссылка,
    | Номенклатура.Код КАК Код
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.Ссылка В(&МассивСсылок)");
    Запрос.УстановитьПараметр("МассивСсылок", Строки.ПолучитьКлючи());
    Выборка = Запрос.Выполнить().Выбрать();
    ГСЧ = Новый ГенераторСлучайныхЧисел;
    Пока Выборка.Следующий() Цикл
    Оформление = Строки[Выборка.Ссылка].Оформление["Код"];
    ЦветЧислом = ГСЧ.СлучайноеЧисло(0, 16777215);
    Красный = ЦветЧислом % 256;
    Зеленый = (ЦветЧислом / 256) % 256;
    Синий = (ЦветЧислом / 65536) % 256;

    Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(Красный, Зеленый, Синий));
    КонецЦикла;
    КонецПроцедуры
```
---
спасибо, попробую!
---
(6) огромное спасибо!!! все получилось!