|
Дерево значений | ☑ | ||
---|---|---|---|---|
0
IoannVic
17.09.13
✎
11:10
|
Люди добрые, помогите. Есть Дерево значений. В него кладу данные из выборки, группируя их по одному реквизиту имеющему составной тип данных (оба - ДокументСсылка). Получаю от такое дерево:
Проект 0001 Задача 0001 Задача 0001 Задача 0002 А хочу (и должно быть): Проект 0001 Задача 0001 Задача 0002 Как реализовать? |
|||
1
Rie
17.09.13
✎
11:13
|
(0) Так и кладите, как хотите получить. Задачу 0002 - в строки Задачи 0001.
(Код показывайте! Или оплачивайте услуги телепатов!). |
|||
2
IoannVic
17.09.13
✎
11:13
|
Процедура СформироватьСписокЗадач(ТекПроект)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Задача.Ссылка КАК Задача, | Задача.Наименование, | Задача.Дедлайн, | Задача.Родитель КАК Родитель, | Задача.Дата, | Задача.СтатусЗадачи, | Задача.Исполнитель |ИЗ | Документ.Задача КАК Задача | |СГРУППИРОВАТЬ ПО | Задача.Ссылка, | Задача.Наименование, | Задача.Дедлайн, | Задача.Родитель, | Задача.Дата, | Задача.СтатусЗадачи, | Задача.Исполнитель | |УПОРЯДОЧИТЬ ПО | Родитель |ИТОГИ ПО | Родитель"; //Запрос.УстановитьПараметр("ТекПроект", ТекПроект); ДеревоИзЗапроса = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); ЗначениеВРеквизитФормы(ДеревоИзЗапроса, "СписокЗадач"); КонецПроцедуры |
|||
3
IoannVic
17.09.13
✎
11:13
|
Код обычный, просто не представляю, даже куда копать((
|
|||
4
Rie
17.09.13
✎
11:14
|
(2) А "СГРУППИРОВАТЬ ПО" - оно зачем?
|
|||
5
IoannVic
17.09.13
✎
11:19
|
(4) Ковырял до этого, не прибрал за собой, не уверен, конечно, новлиять на результат выборки не должно
|
|||
6
rikodroo
17.09.13
✎
11:20
|
При построении дерева, можно добавлять объекты, которые будут дочерними:
СтрокаДерева = МоёДерево.Строки.Добавить(); |
|||
7
IoannVic
17.09.13
✎
11:23
|
(6) Это я уже вычитал). Вопрос именно в том, как это организовать программно. Это делать кучу обходов по циклу и проверок есть ли дочерние объекты??
|
|||
8
rikodroo
17.09.13
✎
11:27
|
(7) ну сначала выгрузи резуоттат например в таблицу значений, или выполни пакет запросов и результаты выгрузи в массивы результатов.
Затем инициализируй дерево. Далее пробегай по нужным тебе таблицам, используя н-р оператор НайтиСтроки() получай нужные данные и добавляй их в дерево. Разумеется, нужно постараться минимизировать количество проходов по таблицам. |
|||
9
IoannVic
17.09.13
✎
11:29
|
(8) Спасибо, направление теперь есть, возможно к вечеру еще вернусь к ветке
|
|||
10
depthzer0
17.09.13
✎
11:33
|
так а рекурсия?
|
|||
11
IoannVic
17.09.13
✎
11:42
|
(10) Читал только холивар на эту тему, если есть какие-то ссылки с более менее подробной информацией буду благодарен. Я к сожалению ничего не нашел
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |