Подскажите, пожалуйста, как оформить цветом определенную строку в дереве значений
23.10.2013
11:23
#31
"<pre>&НаСервереПроцедура ЗаполнитьДеревоСервер() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | """"А"""" КАК Параметр, | 10 КАК ЗначениеПараметра | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | """"Б"""", | 20 |ИТОГИ | СУММА(ЗначениеПараметра) |ПО | ОБЩИЕ" ; Результат = Запрос.Выполнить(); НовДЗ = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); ЗначениеВРеквизитФормы(НовДЗ, "ДЗ"); // Настройка условного оформления УО = ЭтаФорма.УсловноеОформление; ЭлементУО = УО.Элементы.Добавить(); ЭлементУО.Использование = Истина; ОтборУО = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборУО.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ.ЗначениеПараметра"); ОтборУО.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше; ОтборУО.ПравоеЗначение = 15; ПолеУО = ЭлементУО.Поля.Элементы.Добавить(); ПолеУО.Использование = Истина; ПолеУО.Поле = Новый ПолеКомпоновкиДанных("ДЗПараметр"); ПолеУО = ЭлементУО.Поля.Элементы.Добавить(); ПолеУО.Использование = Истина; ПолеУО.Поле = Новый ПолеКомпоновкиДанных("ДЗЗначениеПараметра"); ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,0,0));КонецПроцедуры </pre>"
23.10.2013
11:58
#32
Спасибо большое! Буду тестить... Пока не понятно, как туда вставить мои параметры...
23.10.2013
12:10
#33
В любом условном оформлении присутствуют 3 компонента: оформление, условие, оформляемые поля.<br>Оформление - будет такое же как в примере<br>Условие - <имя дерева>.<имя поля документа>.ПометкаУдаления -- Условие "Равно" -- Истина<br>Оформляемые поля - в цикле переберите поля дерева значений по аналогии с примером.
23.10.2013
13:09
#34
"У меня не работает, что я делаю не так?<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>"
23.10.2013
14:45
#36
Значит мне обязательно писать новый запрос? Или всё же можно использовать имеющийся?
23.10.2013
15:43
#37
"<pre>Дерево = РеквизитФормыВЗначение("ДеревоСвязей");Дерево.Строки.Очистить();Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | СвязиДокументов.ТипСвязи КАК ТипСвязи, | СвязиДокументов.ДатаУстановки, | СвязиДокументов.СвязанныйДокумент, | СвязиДокументов.СвязаннаяСтрока, | СвязиДокументов.Комментарий, | 1 КАК КоличествоДокументов |ИЗ | РегистрСведений.СвязиДокументов КАК СвязиДокументов |ГДЕ | СвязиДокументов.Документ = &Документ | |УПОРЯДОЧИТЬ ПО | ТипСвязи"; Запрос.УстановитьПараметр("Документ", Объект.Ссылка); Результат = Запрос.Выполнить().Выгрузить(); Результат.Сортировать("ТипСвязи"); ТабКоличествоСвязей = Результат.Скопировать(); ТабКоличествоСвязей.Свернуть("ТипСвязи", "КоличествоДокументов"); КоличествоСвязей = 0; Для Каждого СтрокаТипСвязи Из ТабКоличествоСвязей Цикл НоваяСтрока = Дерево.Строки.Добавить(); НоваяСтрока.ТипСвязи = СтрокаТипСвязи.ТипСвязи; НоваяСтрока.ЭтоРодитель = Истина; НоваяСтрока.Представление = Строка(СтрокаТипСвязи.ТипСвязи) + " (" + СтрокаТипСвязи.КоличествоДокументов + ")"; НайденныеСтроки = Результат.НайтиСтроки(Новый Структура("ТипСвязи", СтрокаТипСвязи.ТипСвязи)); Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл СтрокаДок = НоваяСтрока.Строки.Добавить(); СтрокаДок.ТипСвязи = НайденнаяСтрока.ТипСвязи; СтрокаДок.СвязанныйДокумент = НайденнаяСтрока.СвязанныйДокумент; СтрокаДок.СвязаннаяСтрока = НайденнаяСтрока.СвязаннаяСтрока; СтрокаДок.Комментарий = НайденнаяСтрока.Комментарий; Если НайденнаяСтрока.СвязанныйДокумент.ПометкаУдаления = Истина Тогда УО = УсловноеОформление.Представление.Добавить(); УО.Оформление.УстановитьЗначениеПараметра("ЦветФона",WebЦвета.Красный); КонецЕсли; КоличествоСвязей = КоличествоСвязей + 1; КонецЦикла; КонецЦикла; ЗначениеВРеквизитФормы(Дерево, "ДеревоСвязей");<<<ВОТ ЗДЕСЬ НАДО НАПИСАТЬ КОД ПО НАСТРОЙКЕ УСЛОВНОГО ОФОРМЛЕНИЯ! >>></pre><br><br><b></b>"
Читают тему
(гостей: 1)