Имя: Пароль:
1C
1С v8
Условное оформление табличной части.
0 zloy-duh
 
01.10.12
12:44
Доброго времени суток.
Возникла проблема с условным оформлением табличной части (таблицы формы) в управляемом приложении.
Задача: Нужно задать цвет полям у которых реквизит поля ссылочного типа таблицы равняется некоторому значению.
Левое значение элемента условного оформления принимает только поля табличной части (не углубляясь до реквизитов этих полей).
Возможно есть какой-то способ решить данную задачу.
1 zloy-duh
 
01.10.12
12:46
Добавлять еще реквизиты в табличную часть - не вариант. Слишком много таких табличных частей.
2 zladenuw
 
01.10.12
12:52
а гугл говорит что можно http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=588739
3 Жан Пердежон
 
01.10.12
12:57
реквизит формы добавь
4 zloy-duh
 
01.10.12
13:01
"ЭтаФорма.УсловноеОформление.Элементы.Очистить();
  ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
  ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
  ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары");
  ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
  ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.НеПорезан");
  ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
  ЭлементОтбора.ПравоеЗначение = Истина;
  ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);"

Эту ветку уже видел.
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.НеПорезан");
НеПорезан - это реквизит ТЧ.
5 zloy-duh
 
01.10.12
13:02
мне же надо углубится еще дальше
Допустим:
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Контрагент.ВидКонтрагента");
6 Фокусник
 
01.10.12
13:03
(1) как ни крути, данные должны быть на клиенте, оформление УФ на сервер не полезет :)
7 zloy-duh
 
01.10.12
13:06
Возможно есть другой способ
8 hhhh
 
01.10.12
13:31
(7) динамический список вроде называется.
9 zloy-duh
 
01.10.12
13:33
Пришла мысль добавить на форме в ТЧ объекта (объект.товары) свой реквизит.
Осталась проблема как его заполнять.
При открытии формы данные берутся из базы, но там такого реквизита нет. Можно ли брать значение автоматически из реквизита, дабы не обходить строки ТЧ.
10 zloy-duh
 
01.10.12
13:34
Динамический список никак не прикрутить к ТЧ.
11 zladenuw
 
01.10.12
13:36
пробуй ПутькДанным у твоего реквизита, а где с базы берется ?
12 hhhh
 
01.10.12
13:36
(9) это называется запрос в цикле. За это расстреливают. В обычном приложении это нещадно тормозит. А в управляемом вообще всё накроется у тебя.