Подскажите, пожалуйста, как оформить цветом определенную строку в дереве значений

Новая тема
Показывать по 10 20 40 сообщений
"
&НаСервереПроцедура ЗаполнитьДеревоСервер()   Запрос = Новый Запрос;      Запрос.Текст =   "ВЫБРАТЬ   |    """"А"""" КАК Параметр,   |    10 КАК ЗначениеПараметра   |   |ОБЪЕДИНИТЬ ВСЕ   |   |ВЫБРАТЬ   |    """"Б"""",   |    20   |ИТОГИ   |    СУММА(ЗначениеПараметра)   |ПО   |    ОБЩИЕ"   ;      Результат = Запрос.Выполнить();      НовДЗ = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);      ЗначениеВРеквизитФормы(НовДЗ, "ДЗ");      // Настройка условного оформления   УО = ЭтаФорма.УсловноеОформление;      ЭлементУО = УО.Элементы.Добавить();      ЭлементУО.Использование = Истина;      ОтборУО = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));      ОтборУО.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("ДЗ.ЗначениеПараметра");   ОтборУО.ВидСравнения   = ВидСравненияКомпоновкиДанных.Меньше;   ОтборУО.ПравоеЗначение = 15;      ПолеУО = ЭлементУО.Поля.Элементы.Добавить();   ПолеУО.Использование = Истина;   ПолеУО.Поле = Новый ПолеКомпоновкиДанных("ДЗПараметр");      ПолеУО = ЭлементУО.Поля.Элементы.Добавить();   ПолеУО.Использование = Истина;   ПолеУО.Поле = Новый ПолеКомпоновкиДанных("ДЗЗначениеПараметра");      ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,0,0));КонецПроцедуры 
"
rezultat.jpg (75.29 КБ)
Спасибо большое! Буду тестить... Пока не понятно, как туда вставить мои параметры...
В любом условном оформлении присутствуют 3 компонента: оформление, условие, оформляемые поля.
Оформление - будет такое же как в примере
Условие - <имя дерева>.<имя поля документа>.ПометкаУдаления -- Условие "Равно" -- Истина
Оформляемые поля - в цикле переберите поля дерева значений по аналогии с примером.
"У меня не работает, что я делаю не так?


Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл			
СтрокаДок = НоваяСтрока.Строки.Добавить();
СтрокаДок.ТипСвязи = НайденнаяСтрока.ТипСвязи;
СтрокаДок.СвязанныйДокумент = НайденнаяСтрока.СвязанныйДокумент;
СтрокаДок.СвязаннаяСтрока = НайденнаяСтрока.СвязаннаяСтрока;
СтрокаДок.Комментарий = НайденнаяСтрока.Комментарий;


УО = ЭтаФорма.УсловноеОформление;      
ЭлементУО = УО.Элементы.Добавить();      
ЭлементУО.Использование = Истина;      
ОтборУО = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));      
ОтборУО.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("НайденнаяСтрока.СвязанныйДокумент.ПометкаУдаления");  
ОтборУО.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;  
ОтборУО.ПравоеЗначение = Истина;      
ПолеУО = ЭлементУО.Поля.Элементы.Добавить();  
ПолеУО.Использование = Истина;  
ПолеУО.Поле = Новый ПолеКомпоновкиДанных("СвязанныйДокумент");      
ПолеУО = ЭлементУО.Поля.Элементы.Добавить();  
ПолеУО.Использование = Истина;  
ПолеУО.Поле = Новый ПолеКомпоновкиДанных("СвязанныйДокумент");      
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,0,0));
"
Настраивать условное оформление нужно после вызова "ЗначениеВРеквизитФормы()".
Значит мне обязательно писать новый запрос? Или всё же можно использовать имеющийся?
"
Дерево = РеквизитФормыВЗначение("ДеревоСвязей");Дерево.Строки.Очистить();Запрос = Новый Запрос;      Запрос.Текст =       "ВЫБРАТЬ РАЗРЕШЕННЫЕ           |      СвязиДокументов.ТипСвязи КАК ТипСвязи,           |      СвязиДокументов.ДатаУстановки,           | СвязиДокументов.СвязанныйДокумент,           |      СвязиДокументов.СвязаннаяСтрока,           |      СвязиДокументов.Комментарий,           |      1 КАК КоличествоДокументов           |ИЗ           | РегистрСведений.СвязиДокументов КАК СвязиДокументов           |ГДЕ           |      СвязиДокументов.Документ = &Документ           |           |УПОРЯДОЧИТЬ ПО           |      ТипСвязи"; Запрос.УстановитьПараметр("Документ", Объект.Ссылка);      Результат = Запрос.Выполнить().Выгрузить();      Результат.Сортировать("ТипСвязи"); ТабКоличествоСвязей = Результат.Скопировать();      ТабКоличествоСвязей.Свернуть("ТипСвязи", "КоличествоДокументов");      КоличествоСвязей = 0;       Для Каждого СтрокаТипСвязи Из ТабКоличествоСвязей Цикл            НоваяСтрока = Дерево.Строки.Добавить();            НоваяСтрока.ТипСвязи = СтрокаТипСвязи.ТипСвязи;      НоваяСтрока.ЭтоРодитель = Истина;            НоваяСтрока.Представление = Строка(СтрокаТипСвязи.ТипСвязи) + " (" + СтрокаТипСвязи.КоличествоДокументов + ")";      НайденныеСтроки = Результат.НайтиСтроки(Новый Структура("ТипСвязи", СтрокаТипСвязи.ТипСвязи));           Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл                  СтрокаДок =      НоваяСтрока.Строки.Добавить();                  СтрокаДок.ТипСвязи = НайденнаяСтрока.ТипСвязи;                  СтрокаДок.СвязанныйДокумент = НайденнаяСтрока.СвязанныйДокумент;                  СтрокаДок.СвязаннаяСтрока = НайденнаяСтрока.СвязаннаяСтрока;                  СтрокаДок.Комментарий = НайденнаяСтрока.Комментарий;                      Если НайденнаяСтрока.СвязанныйДокумент.ПометкаУдаления = Истина Тогда                        УО = УсловноеОформление.Представление.Добавить();                                       УО.Оформление.УстановитьЗначениеПараметра("ЦветФона",WebЦвета.Красный);                              КонецЕсли;                  КоличествоСвязей = КоличествоСвязей + 1;             КонецЦикла;      КонецЦикла;             ЗначениеВРеквизитФормы(Дерево, "ДеревоСвязей");<<<ВОТ ЗДЕСЬ НАДО НАПИСАТЬ КОД ПО НАСТРОЙКЕ УСЛОВНОГО ОФОРМЛЕНИЯ! >>>


"
Огромнейшее спасибо! Извините за глупые вопросы.
Ничего страшного, у меня еще был небольшой запас терпения. :)
Буду иметь в виду =)
Читают тему
(гостей: 1)

Быстрый переход