Имя: Пароль:
1C
 
Условное оформление. Задать правое значение условия.
0 Windyhead
 
18.09.14
11:34
Есть реквизит формы "Рекв1" с типом СписокЗначения , состав этого списка я изменяю в процессе работы с формой.  
Цель : программно сделать условное оформление которое зависит от состава этого списка.
Что установить в ПравоеЗначение ???
Если ставлю ОтборЭлемента.ПравоеЗначение = Рекв1 то УО не реагирует на изменение состава списказначений "Рекв1". Нужно постоянно программно заново передавать в "ПравоеЗначение" новый список?

Код:
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТоварыНомерКвитанции.Имя);

ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура");
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    ОтборЭлемента.ПравоеЗначение = ?????????????????????????????    
    
    
    Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина);    
    Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = '<№ Квитанции>'"));
    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НедоступныеДанныеЦвет);
1 Нав-Нав
 
18.09.14
11:36
да.
2 wertyu
 
18.09.14
11:37
а ты отбор заранее очищаешь?
3 Нав-Нав
 
18.09.14
11:44
в отборе ОтборЭлемента.ПравоеЗначение сидит не ссылка на твой список значений, а конкретные значения из этого списка. и когда меняется список - в ОтборЭлемента.ПравоеЗначение остаются сидеть старые значения
4 Windyhead
 
18.09.14
11:58
(3) Да ! Я это понимаю! Реально ли туда поместить ссылку или параметр? пытался поместить = Новый ПолеКомпоновкиДанных("Рекв1"), валится с ошибкой, пробовал Новый ПолеКомпоновкиДанных("ЭтаФорма.Рекв1") тоже ошибка
5 Нав-Нав
 
18.09.14
12:02
имхо нет. а в чем проблема обновить правое значение при изменении списка?
6 Windyhead
 
18.09.14
12:07
(5) не проблема, но думал можно задать чтоб компоновщик брал из   реквизита формы или из параметра который просто обновляем . а так получается нужно сперва найти циклом элемент оформления потом элемент отбора... как то муторно. либо хранить где то это все добро. Или я чего то не понимаю
7 Windyhead
 
18.09.14
12:12
Обновлять так: УсловноеОформление.Элементы.Получить(29).Отбор.Элементы.Получить(0).ПравоеЗначение=Рекв1;
все пашет. но , хотелось бы по ключу какому-то а не по индексу.