|
Вопрос по условному оформлению дерева на управляемой форме | ☑ | ||
---|---|---|---|---|
0
al_zzz
09.12.21
✎
08:40
|
Хочу установить условное оформление колонки дерева таким образом, чтоб вместо его значения выводилось значение из другой колонки.
Пытаюсь сделать так: УО = ЭтаФорма.УсловноеОформление; УО.Элементы.Очистить(); ЭлементУО = УО.Элементы.Добавить(); Оформляемоеполе = ЭлементУО.Поля.Элементы.Добавить(); // Поля таблицы для которых будет действовать оформление Оформляемоеполе.Поле = Новый ПолеКомпоновкиДанных("ДеревоНоменклатурыНоменклатураИзОблака"); Оформляемоеполе.Использование = ИСТИНА; ЭлементУО.Оформление.УстановитьЗначениеПараметра("Текст", Новый ПолеКомпоновкиДанных("ДеревоНоменклатурыНоменклатураИзОблакаСТР")); По факту, если я меняю значение в колонке "НоменклатураИзОблакаСТР", то колонка "НоменклатураИзОблака" как была пустой, так и отображается. ЧЯДНТ? Можно ли как-то вообще это сделать? |
|||
1
Мимохожий Однако
09.12.21
✎
08:56
|
Условное оформление не предполагает изменение значений поля. Оформление меняет цвет, видимость, вывод и т.п.
|
|||
2
youalex
09.12.21
✎
09:05
|
А если
ЭлементУО.Оформление.УстановитьЗначениеПараметра("Текст", Новый ПолеКомпоновкиДанных("ДеревоНоменклатуры.НоменклатураИзОблакаСТР")); |
|||
3
youalex
09.12.21
✎
09:14
|
+ отбор нужно добавить все равно, который будет Истина
|
|||
4
Вафель
09.12.21
✎
09:26
|
Нужно добавить текстовую колонку и заполнять ее по алгоритму
|
|||
5
al_zzz
09.12.21
✎
09:33
|
(3) Вот точно - отбор не добавлял. Попробую.
(2) Тоже попробую вариант. (4) Ага, я так и хотел. Спасибо! Отпишусь, по результату. |
|||
6
al_zzz
09.12.21
✎
10:07
|
Переделал:
ЭлементУО = УО.Элементы.Добавить(); Оформляемоеполе = ЭлементУО.Поля.Элементы.Добавить(); // Поля таблицы для которых будет действовать оформление Оформляемоеполе.Поле = Новый ПолеКомпоновкиДанных("ДеревоНоменклатурыНоменклатураИзОблака"); Оформляемоеполе.Использование = ИСТИНА; ЭлементОтбора = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // отбор текущей строки таблицы ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДеревоНоменклатурыНоменклатураИзОблакаСТР"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено; ЭлементУО.Оформление.УстановитьЗначениеПараметра("Текст", Новый ПолеКомпоновкиДанных("ДеревоНоменклатуры.НоменклатураИзОблакаСТР"));//ДеревоНоменклатуры.НоменклатураИзОблакаСТР")); Но не взлетело. |
|||
7
youalex
09.12.21
✎
10:13
|
(6) ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДеревоНоменклатуры.НоменклатураИзОблакаСТР");
Или просто .ЛевоеЗначение = Истина; .ПравоеЗначение = Истина |
|||
8
al_zzz
09.12.21
✎
10:38
|
ЭлементОтбора = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // отбор текущей строки таблицы
ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = Истина;//Новый ПолеКомпоновкиДанных("ДеревоНоменклатурыНоменклатураИзОблакаСТР"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Истина; ЭлементУО.Оформление.УстановитьЗначениеПараметра("Текст", Новый ПолеКомпоновкиДанных("ДеревоНоменклатуры.НоменклатураИзОблакаСТР")); Тоже не хочет работать. Что ещё можно попробовать? |
|||
9
youalex
09.12.21
✎
11:25
|
(8) Попробуй в диалоге (свойства формы, закладка Оформление) накликать это УО, код пока убрать.
Если заработает, смотри в отладке что там. у меня вот такое для ТЧ точно работает УО = ЭтаФорма.УсловноеОформление; УО.Элементы.Очистить(); ЭлементУО = УО.Элементы.Добавить(); Оформляемоеполе = ЭлементУО.Поля.Элементы.Добавить(); // Поля таблицы для которых будет действовать оформление Оформляемоеполе.Поле = Новый ПолеКомпоновкиДанных("ТабличнаяЧасть1Реквизит2"); Оформляемоеполе.Использование = ИСТИНА; ЭлементУО.Оформление.УстановитьЗначениеПараметра("Текст", Новый ПолеКомпоновкиДанных("Объект.ТабличнаяЧасть1.Реквизит1")); ЭлОтбора = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлОтбора.Использование = Истина; ЭлОтбора.ЛевоеЗначение = Истина; ЭлОтбора.ПравоеЗначение= Истина; |
|||
10
al_zzz
09.12.21
✎
18:10
|
Получилось, когда я условное оформление настроил через свойства формы.
С кодом никак не получилось. |
|||
11
sitex
naïve
09.12.21
✎
19:05
|
(10) Потому что это дичь вот и не получилось . смотри "СписокПриПолученииДанныхНаСервере"
|
|||
12
youalex
09.12.21
✎
20:02
|
(11) так там не ДС скорее всего, а ДанныеФормыДерево
(10) сравни элементы УО который ты в форме накликал, и который кодом заполняешь. Может даже где-то есть готовая обработка которая транслирует текущее УО в программный код) |
|||
13
al_zzz
10.12.21
✎
09:49
|
(12) Всё верно.
|
|||
14
al_zzz
10.12.21
✎
09:54
|
(12) Мне достаточно так как сейчас работает. Ваш код, кстати, тоже попробовал, переделав под свой случай, но он тоже не заработал.
|
|||
15
al_zzz
10.12.21
✎
09:55
|
Возможно, в дереве дело.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |