|
Условное оформление 8.2 | ☑ | ||
---|---|---|---|---|
0
NSerg
25.10.11
✎
10:53
|
Необходимо реализовать боевой раскрас элементов формы, которые были добавлены на неё (форму) динамически.
Использую следующий код: ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Валюты_1_Наименование"); ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Источник_Валюты_1.Наименование"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Валюты_1_НаименованиеПолное"); ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.СинийСоСтальнымОттенком); И вот не работает. а если в качестве Левого значения укзаать не поле компановки, а непосредственно значение реквизита : ЭлементОтбора.ЛевоеЗначение = Источник_Валюты_1.Наименование; то отрабатывает. может кто-то сталкивался? |
|||
1
Cube
25.10.11
✎
11:02
|
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Источник_Валюты_1.Наименование");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Источник_Валюты_1.Наименование"); |
|||
2
NSerg
25.10.11
✎
11:04
|
(1) и зачем так?
|
|||
3
NSerg
25.10.11
✎
11:05
|
идея вот в чём. на форме есть поле ввода с сылкой и есть поле ввода в которое внесут полное наименование. и вот необходимо полное наименование сравнить с наименованием в ссылке и если разно, то раскрасить
|
|||
4
NSerg
25.10.11
✎
11:14
|
(1) Да, кстати, ваш пример не работает. Также не работает когда делаю вот так :
ЭлементОтбора.ЛевоеЗначение = Истина; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Истина; вообще, такое ощущение что как-то кривовато сделано условное оформеление в тонком клиенте. к слову, релиз платформы 8.2.14.533 |
|||
5
NSerg
25.10.11
✎
11:16
|
(1) извиняюсь, работает, но мне нужно всёравно другое :)
|
|||
6
Defender aka LINN
25.10.11
✎
11:17
|
(0) На русский язык этот код можно перевести так:
"Если поле "Источник_Валюты_1.Наименование" не равно полю "Валюты_1_НаименованиеПолное", то с полем "Валюты_1_Наименование" мы не делаем ничего, но цвет будет СинийСоСтальнымОттенком." |
|||
7
NSerg
25.10.11
✎
11:18
|
(6) ага
|
|||
8
NSerg
25.10.11
✎
11:23
|
проблема заключается именно с
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Источник_Валюты_1.Наименование"); т.к. если написать вот так : ЭлементОтбора.ЛевоеЗначение = ЭтаФорма["Источник_Валюты_1"].ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Валюты_1_Наименование"); то работает |
|||
9
NSerg
25.10.11
✎
11:24
|
проблема заключается именно с
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Источник_Валюты_1.Наименование"); т.к. если написать вот так : ЭлементОтбора.ЛевоеЗначение = ЭтаФорма["Источник_Валюты_1"].Наименование; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Валюты_1_Наименование"); то работает |
|||
10
Cube
25.10.11
✎
11:29
|
А так:
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Валюты_1_Наименование"); ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.СинийСоСтальнымОттенком); |
|||
11
NSerg
25.10.11
✎
11:34
|
(10) нет, но (9) работает
|
|||
12
NSerg
25.10.11
✎
17:12
|
АПП
|
|||
13
NSerg
27.10.11
✎
12:22
|
всё, идё больше нет?
|
|||
14
NSerg
27.10.11
✎
12:22
|
*идей )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |