|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
Имеется обычное дерево: id, parent_id, name. Всего три уровня группировки (на данный момент, потом может будет и больше). В CR нужно сделать так, чтобы в левой части выводилось удобоваримое для пользователей дерево по полю name, что-нибудь вроде Тетради - тетради в клетку -- 48 листов -- 96 листов - тетради в линейку -- 48 листов -- 96 листов Надеюсь, мысль понятна. Если делать группировку по полям id и parent_id, то в левой части будут просто числовые коды, которые конечному пользователю совершенно неинтересны. Как же сделать так, чтобы группировка была по полям id и parnet_id, но при этом пользователь видел не коды, а иерархическое дерево с возможностью соответственно открывать нужный узел? Может кто сталкивался с подобной задачей? С уважением, kkv ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2006, 11:43 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
посмотреть в хелпе про "Customize Group Name Field" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2006, 12:26 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
там где поле группировки в закладке Options можно поставить (указать) имя поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2006, 12:35 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
Спасибо, буду пробовать. С уважением, kkv ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2006, 12:44 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
С выводом названий полей я разобрался, а вот с деревом нет. Все дело в том, что при таком подходе, я имею в виду группировку по id и parent_id, не выводится дерево, которое ожидается. Кристал совершенно по-честному на первый уровень группировки ставит parent_id, на второй id - претензий не имею. Но нужно-то получить совершенно другое! Неважно какой грублины дерево, в отчете иерархия должна прослеживаться четко в зависимости от данных в узлах. Т.е. очевидно, что неправилен сам подход к формированию деревянного отчета. Нужно выводить не группировкой (или не только группировкой), но и как-то по другому. Вот только как? С уважением, kkv ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2006, 13:20 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
Ну, раз никто не подсказал, то пришлось разобраться самому. В CR иерархические отчеты делаются элементарно. Сначала нужно задать уровень группировки по полю id, затем зайти в меню "Report" - "Hierarchical Group Options" и указать parent_id. Вот и все. С уважением, kkv ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2006, 16:41 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
http://www.sql.ru/forum/actualthread.aspx?tid=283493#2571506 Peter Kirillowя бы не стал извращатся с передачей отчету готового резалтсета. если в дизайнере все строится нормально, то отчет надо вызывать как есть с простой передачей ему параметров. и все. если поискать в форуме, то можно найти как это сделать через OLE. я пользуюсь явой только...В этом случае на каждой клиентской машине должен быть установлен Crystal. Дело здесь (теперь уже) даже не в технике передачи параметров (я их могу "зашить" в строку SQL, считав из формы), а в том, что вьювер некорректно отображает дерево. Вот как это побороть? С уважением, kkv ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2006, 17:23 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
Если запускать файл отчета отдельно, то дерево формируется так как надо. Если же запускать из кода, то во вьювере все эти данные отображаются, но уже как-то криво. На картинке справа это то, что должно получиться, а слева - то, что получается из кода. (То что справа я наваял на .NET, но нужно прикрутить именно к VB6). Кривизна состоит в том, что все ветки дерева начиная со второй строки попадают в самую первую ветку, в данном случае "Товары для делопроизводства". В самом коде я нигде не проникаю внутрь вьювера, а просто тупо его подключаю. Может кто сталкивался с подобной задачей и знает как ее решить. В документации я не нашел ни одного примера о том как можно "включить" иерархичность во вьювере. Догадываюсь, что нужно каким-то образом пройтись по дереву в цикле, но как??? С уважением, kkv ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2006, 13:42 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
попробовать включить программно http://support.businessobjects.com/global/interactive/xi/om/RDC/content.html ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2006, 14:36 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
Peter Kirillowпопробовать включить программно http://support.businessobjects.com/global/interactive/xi/om/RDC/content.htmlИменно этого я и добиваюсь, пример кода нужен. А по этой ссылке (объектная модель) я уже был. Все, что касается иерархичности, если я правильно понимаю, следует искать в свойстве EnableHierarchicalGroupSorting . А примера кода я там не нашел. Пробовал просто присваивать этому свойству значение true, но прога ругается (как именно уже не помню, т.к. перепробовал много способов). Подскажешь? С уважением, kkv ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2006, 14:50 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
поскольку я никогда не делал этого в VB, то для начала попробовал бы получить массив объектов Area и посмотреть на их свойства, а потом попробовать установить этот (EnableHierarchicalGroupSorting) флаг. но, повторюсь, я бы попробовал всю задачу формирования репорта (резалтсет) оставить самому кристалу и делать так как написано по ссылке http://support.businessobjects.com/library/kbase/articles/c2004630.asp. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2006, 15:10 |
|
CR-11. Отчет-дерево
|
|||
---|---|---|---|
#18+
Peter Kirillowно, повторюсь, я бы попробовал всю задачу формирования репорта (резалтсет) оставить самому кристалу и делать так как написано по ссылке http://support.businessobjects.com/library/kbase/articles/c2004630.asp Так ведь именно так я и сделал, только вот вьювер криво отрабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2006, 15:16 |
|
|
start [/forum/topic.php?fid=31&msg=33655559&tid=1539087]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 240ms |
0 / 0 |