Добрый день, коллеги.

Дано: УТ11, форма списка номенклатуры.
Задача: задать условное оформление согласно некоторому условию.
Решение:
Программно меняю типовой запрос динамического списка, добавляя в выборку ещё одно поле "Сегмент".
Программно устанавливаю УО.

Результат: в тестовой базе раскрашивает строки согласно условию, а в рабочей - нет. Хотя изначально и в тестовой не работало, лазил по форуму - кто-то с таким глюком уже сталкивался и предложил изменить дин.список в конструкторе (или в поля на форму добавить, потом удалить, уже не найду тот совет). Шаманил - чудом заработало. Но в продакшне - безрезультатно.

Может кто подскажет, что за шляпа эдакая?
ЗЫ: Пока писал, придумал, а может элемент формы невидимый программно добавить этого поля?! ...

Запрос
```1c
    ВЫБРАТЬ
    МАКСИМУМ(ИТМ_ЦветаСегментов.Объект) КАК Сегмент,
    НоменклатураСегмента.Номенклатура
    ПОМЕСТИТЬ ЦветаСегментов
    ИЗ
    РегистрСведений.ИТМ_ЦветаСегментов КАК ИТМ_ЦветаСегментов
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента
    ПО ИТМ_ЦветаСегментов.Объект = НоменклатураСегмента.Сегмент

    СГРУППИРОВАТЬ ПО
    НоменклатураСегмента.Номенклатура
    ;
    ВЫБРАТЬ
    СпрНоменклатура.Ссылка КАК Ссылка,
    ЦветаСегментов.Сегмент КАК Сегмент,
    СпрНоменклатура.Код КАК Код,
    СпрНоменклатура.Наименование КАК Наименование,
    СпрНоменклатура.Артикул КАК Артикул,
    СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
    СпрНоменклатура.Родитель,
    ВЫБОР
    КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества
    ТОГДА 4 + ВЫБОР
    КОГДА СпрНоменклатура.ПометкаУдаления
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ + ВЫБОР
    КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
    ТОГДА 0
    ИНАЧЕ 2
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА СпрНоменклатура.ПометкаУдаления
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ + ВЫБОР
    КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
    ТОГДА 0
    ИНАЧЕ 2
    КОНЕЦ
    КОНЕЦ КАК ИндексКартинки
    ИЗ
    Справочник.Номенклатура КАК СпрНоменклатура
    ЛЕВОЕ СОЕДИНЕНИЕ ЦветаСегментов КАК ЦветаСегментов
    ПО ЦветаСегментов.Номенклатура = СпрНоменклатура.Ссылка
    ГДЕ
    НЕ СпрНоменклатура.ЭтоГруппа
    {ГДЕ
    (СпрНоменклатура.Ссылка В
    (ВЫБРАТЬ
    Сегменты.Номенклатура
    ИЗ
    РегистрСведений.НоменклатураСегмента КАК Сегменты
    ГДЕ
    Сегменты.Сегмент = &СегментНоменклатуры))}
```

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

```1c
    Форма.СписокНоменклатура.УсловноеОформление.Элементы.Добавить();
```

Очень странное поведение. Хотя в типовой видел и код, что приведен выше.
---
в тестовой базе раскрашивает строки согласно условию, а в рабочей - нет - ищите отличия между тестовой базой и рабочей
---
Ну не смешно же... перед тем как запилить тему, я выгрузил cf и сравнил - разницы нету.
А также стандартные настройки списка установил.
---
ЗЫ: где ТипЗнч(Форма) - УправляемаяФорма
---
Сработало УО не формы, а списка.

```1c
    Форма.СписокНоменклатура.УсловноеОформление.Элементы.Добавить();
```

Очень странное поведение. Хотя в типовой видел и код, что приведен выше.