Вывести дерево значений на форму #751433


#0 by abda123
Доброго времени суток. Подскажите как вывести на форму результат запроса в виде дерева.
#1 by abda123
Вот как делаю. Добавил на форму табличное поле, тип дерево значений.
#2 by abda123
На форме в дерево значений добавил колонки, с таким же наименованием и типом как поля запроса, но он выдает только одну строку, итоговую.
#3 by abda123
В консоли запросов, выбираешь способ выгрузки "Дерево" и он выдает результат в виде дерева. Вот также надо вывести на форму.
#4 by abda123
Добавил группировки в запрос, не помогло.
#5 by abda123
Платформа 8.2.
#6 by kosts
Делай не выгрузку, а вложенные переборы и заполняй дерево. типа так
#7 by abda123
Ясно, спасибо. Жаль нельзя сразу напрямую вывести результат запроса на форму, по моему в динамических списках можно сразу результат запроса выводить.
#8 by kosts
поправил
#9 by abda123
а какой тип обхода результата запроса выставлять при выгрузке?
#10 by kosts
Такой же
#11 by abda123
а сворачивание по уровням, при таком методе будет, или он просто все строки списком будет показывать?
#12 by kosts
Какое же это дерево будет, если списком сделаешь...
#13 by kosts
Вот это зачем? .Скопировать
#14 by kosts
Проверь, что ты выбрал нужный тип списка на форме - дерево. Возможно дерево и построилось, только плюсиков нету.
#15 by abda123
На форме добавлено табличное поле с типом "Дерево значений". Туда добавлены колонки с именем и типом совпадающие с полями запроса.
#16 by kosts
Вообще метод из в принципе рабочий, только "Выгрузка" в это дерево вызывает разрыв элемента на форме и данных. После выгрузки надо делать ЭлементыФормы.Дерево.СоздатьКолонки; По этому если колонки надо настраивать заранее, то надо обходить и заполнять дерево циклом.
#17 by patria0muerte
Так можно же сразу в данные выгружать. А данные объявить уже как реквизит формы. СоздатьКолонки вызывать не обязательно, но для самой левой колонки вроде нужно установить ОтображатьИерархию. Тогда дерево будет раскрываться
#19 by abda123
Т.е. колонки изначально создавать не нужно на форме?
#20 by kosts
Можно не создавать, если автоматическое создание устроит. Если создаешь, тогда уж нужно следить, что бы не пропадали.
#21 by patria0muerte
Твой метод из должен работать, только отображать иерархию у одной колонки поставь и пропиши после выгрузки разворачивание дерева, если необходимо +1
#22 by abda123
Поподробней можете объяснить. Поясняю что есть, у меня есть обработка АРМ Оператора в транспортной компании. На форме есть панель из 3-х страниц.На 3 страницея хочу чтобы отображалась  информация по загружаемым фурам на отправку, согласно запросу.  Надо ли создать табличную часть, с соответствующими реквизитами и ее кинуть на форму и программно заполнять ее результатом запроса? Или создать на форме просто табличное поле с типом дерево и его заполнять. В этом случае колонки налдо создавать заранее или при формировании дерева их создавать?
#23 by kosts
блин в одном и том же месте косячу... так надо тогда
#24 by kosts
И так и так можно. На твое усмотрение. Я предпочитаю красиво всё заранее на форме настроить и потом заполнить построчно.
#25 by patria0muerte
1) Создаешь реквизиты формы "Дерево", с типом дерево значений 2) Создаешь и размещаешь табличное поле на форме. В данных указываешь "Дерево" 3) В табличном поле создаешь колонки. У колонки "Маршрут" (в твоем случае) устанавливаешь ОтображатьИерархию = Истина 4) Выполняешь свой запрос из 5) Пишешь для красоты что-то типа ; Для каждого СтрокаДерева Из Дерево.Строки Цикл Вот и вся любовь
#26 by abda123
ок, спс)) сейчас попробую..
#27 by patria0muerte
+ *4) Запрос из , разумеется включая строчку Дерево = Запрос.Выполнить.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
#28 by abda123
скопировать не использовать? Запрос.Выполнить.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам).Скопировать;
#29 by kosts
лишнее
#30 by patria0muerte
А зачем? У тебя и так и так дерево значений, только при скопировать ты лишнюю операцию выполняешь.
#31 by abda123
Заработало! Все спасибо. Получается единственное что нужно было, это отображать иерархию в истина поставить)
#32 by abda123
Да и скпоировать лишнее.
#33 by patria0muerte
Да, так и есть. Сначала тоже долго не мог понять в чем суть. )
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С