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

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

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