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