Имя: Пароль:
1C
 
8.2 Условное оформление и видимость реквизита в списке.
0 Aswed
 
02.12.10
13:20
Делаю так:


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

Всё отлично работает, но как только делаю не видимой колонку "Отменен", как выделение цветом такой строки сразу перестаёт работать.

Как побороть?
1 Cube
 
02.12.10
13:24
(0) А что тебя смущает, всё правильно: нет поля, нет и отбор по нему...
2 Aswed
 
02.12.10
13:29
(1) Так поле есть. Оно просто не видимо.
3 Aswed
 
02.12.10
13:30
И если делать интерактивную настройку Условного оформления, то она работает по любому реквизиту документа, вне зависимости от того выведен этот реквизит в форму списка или нет.
Значит можно настроить так же и программно.
Вопрос как?
4 Defender aka LINN
 
02.12.10
13:35
(2) Если невидимо - то его нет.
5 Aswed
 
02.12.10
13:36
(4) Ну ладно. А как тогда настроить что бы работало так как я описал в (3)?
6 Cube
 
02.12.10
13:41
(5) Сделай колонку видимой, если пользователю будет нужно, он сам её уберет.
7 Aswed
 
02.12.10
13:45
(6) ну так можно конечно, но как то ни камильфо.
Уверен должен быть другой выход.
8 Aswed
 
02.12.10
13:55
А вот так

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


работает, хотя реквизит "ПометкаУдаления"  в формы списка не выведен.
9 Aswed
 
02.12.10
14:57
Вверх
10 Abs4
 
02.12.10
15:47
а если сделать колонку "Отменен" видимой, а в условном оформлении убрать у нее видимость?
11 Aswed
 
02.12.10
16:07
(10) Как это?
12 Abs4
 
02.12.10
16:08
(11) добавь новый элемент условного оформления на поле "Отменен", в оформлении есть параметр "Видимость", установи его в ложь
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс