Собственно зашел в тупик. Ситуация такая: С формы на стороне клиента открываю программно форму (в конфе она имеет обычную форму).

```1c
    ПараметрыФормы = Новый Структура;
    Отбор = Новый Структура;
    Отбор.Вставить("Код", Должности);
    ПараметрыФормы.Вставить("Отбор", Отбор);
    ФормаВыбора = ПолучитьФорму(ИмяФормыВыбора, ПараметрыФормы , Элемент);
```

Отбор по списку чрез параметры формы отрабатывает, а вот как вызвать условное оформление не могу понять.
Процедура вызывается на сервере, на клиенте условное оформление не работает.

```1c
    &НаСервере
    Процедура ОформитьНаСервере(Список)

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

    // Оформление: шрифт – зачеркнутый.
    ЭлементУО.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(WindowsШрифты.ШрифтДиалоговИМеню, , , , , , Истина, 100));

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

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

    КонецПроцедуры
```

Условное оформление добавляется на форму с которой запускается процедура, а не на форму которую я открываю программно.

Вот сижу чешу репу, возможно ли это вообще?
---
вместо УсловноеОформление.Элементы.Добавить() делать ФормаВыбора.УсловноеОформление.Элементы.Добавить() или ФормаВыбора.Элементы.Список.УсловноеОформление.Элементы.Добавить()
---
Что такое Код на вашей форме? Если это реквизит объекта, то в условии отбора следует писать ПолеКомпоновкиДанных("Объект.Код"), если это колонка динамического списка, то ПолеКомпоновкиДанных("ИмяСписка.Код"). Также, возможно, неудачное название параметра "Список" – может пересекаться с именем реквизита формы.
И условное оформление лучше устанавливать 1 раз при создании на сервере, сохранять идентификатор элемента УО в реквизит формы типа Произвольный, чтобы можно было впоследствии к нему обратиться.
---
А почему в присозданиинасервере открываемой формы нельзя УО прописать?
---
Ситуация такая: С формы на стороне клиента открываю программно форму (в конфе она имеет обычную форму).

В обычных формах нет условного оформления. В управляемых формах обычно работа с условным оформлением производится ПриСозданииНаСервере.
---
тоже склоняюсь к этому варианту, сейчас сделаю управляемую форму и попробую
---
вместо УсловноеОформление.Элементы.Добавить() делать ФормаВыбора.УсловноеОформление.Элементы.Добавить() или ФормаВыбора.Элементы.Список.УсловноеОформление.Элементы.Добавить()
---
УсловноеОформление
(4)Спасибо, помог и я разобрался в чем не смог.
---
Непонятно описана проблема.

На толстой форме нет условного оформления.

Если же условное оформление хотите на управляемой форме, тогда всё можно сделать:
В Вашем коде нет .Использование = Истина;
---
Вот пример вызова управляемой формы с отбором, причем всё в процедуре &НаКлиенте:

```1c
    МассивСсылокПоступлений = ПолучитьМассивПоступленийПоСсылке(СсылкаЭлемент);

    ФормаСпискаПоступлений_л = ОткрытьФорму("Документ.ПоступлениеТоваровУслуг.ФормаСписка");

    ЭлементОтбора = ФормаСпискаПоступлений_л.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
    ЭлементОтбора.ПравоеЗначение = МассивСсылокПоступлений;
```
---
Открыть форму с отбором я могу, дело в том что "ФормаСпискаПоступлений_л " вы к ней не сможете обратиться и сделать условное оформление.

ФормаСпискаПоступлений_л.УсловноеОформление.... на клиенте нельзя
---
УсловноеОформление именно формы - да, только НаСервере (а значит только в модуле формы, как правило это делается в ПриСозданииНаСервере()),
но свое УсловноеОформление есть еще у ДинамическихСписков, и в него пускает с клиента, поэтому можно как в (6), типа так:

```1c
    &НаКлиенте
    Процедура Команда1(Команда)
    Форма1 = ОткрытьФорму("Справочник.Номенклатура.ФормаСписка");
    Форма1.Открыть();

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