Имя: Пароль:
1C
1С v8
Программное условное оформление строк ДереваЗначений. Условие по Родителю
0 altaykniga
 
20.10.16
13:54
Доброго дня, уважаемые умные люди!

Управляемые формы. Необходимо раскрасить строки дерева значений в зависимости от значений строки-родителя. Например, если в строке-родителе Количество=0, тогда все подчиненные строки раскрашиваем в зеленый цвет. Как этого добиться?

Написал такой код, но как в нем обратиться к родителю?


        ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
        ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДеревоЗначений1.КоличествоНаСкладеВсего");
        ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементОтбора.ПравоеЗначение = 0;
        
        ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
        ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ДеревоЗначений1");
        
        ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
1 aleks_default
 
20.10.16
14:14
Никак. Добавь в строку колонку с признаком, который изменяешь при изменении количества в родителе и заполняй его по всем подчиненным строкам
2 Fedor-1971
 
20.10.16
14:41
1+ Запись условного оформления не может быть привязана к конкретной строке дерева (таблицы), но должна иметь возможность определить, красить данную строку или нет.
Потому алгоритм только один нужен признак в каждой строке, по которому будет ориентироваться УО. И не обязательно им рулить программно.
3 Fedor-1971
 
20.10.16
14:42
2+ в смысле: не обязательно рулить УО программно, можно статически на форме
4 altaykniga
 
21.10.16
12:03
(1,2,3) Спасибо большое, все получилось!
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший