Crystal Reports: как в этом случае избежать вложенных вложенных отчетов? - PullRequest
2 голосов
/ 22 июля 2010

У меня есть основной отчет, содержащий информацию о пользователе, и подотчет, содержащий несколько элементов для указанного пользователя.

Вопрос в том, что мне нужно, чтобы основной отчет дублировался столько раз, сколько необходимо для количества пользователей, которые я передаю в DataSource - как я могу это сделать, чтобы он приводил к одному большому отчету (содержащему несколько основных отчет)

РЕДАКТИРОВАТЬ: Позвольте мне переспросить с конкретным примером (похожим на мой): допустим, я хочу получить отчет для покупателя продуктового магазина - все демографические данные покупателя будут в основном отчете однако для конкретной поездки за покупками должен быть раздел (или подотчет), содержащий все приобретенные товары.

СЕЙЧАС , вот сжиматель. Мне нужно составить этот отчет для разных поездок по магазинам (это также означает, что разные покупатели тоже).

Возможно, было бы даже лучше сказать, что это отчет о поездке за покупками, который можно использовать для серии покупок.

ДАЛЬНЕЙШИЙ ПРОГРЕСС: Как мне заставить работать группу, когда мои данные выглядят так:

(shoppingTripId, shopperId, shopperName, shoppingDate, itemBought)
------------------------------------------------------------------
1, 1, Chris, July-24-2009, Computer
1, 1, Chris, July-25-2009, Laptop
2, 3,  John, June-14-2009, Ipod
2, 3,  John, June-14-2009, Television

Отчет, если все пойдет хорошо, будет выглядеть так:

+-----------------------------------------------
| Chris                     ShoppingTripID: 1
| 123 Main Street               CustomerID: 1
| Anytown, CA 90210
+-----------------------------------------------
| Computer   $999.00
| Laptop    $1099.00
+-----------------------------------------------
+-----------------------------------------------
| John                      ShoppingTripID: 2
| 123 Main Street               CustomerID: 3
| Anytown, CA 90210
+-----------------------------------------------
| Ipod       $999.00
| Television $1099.00
+-----------------------------------------------

На данный момент я получаю это:

+-----------------------------------------------
| Chris                     ShoppingTripID: 1
| 123 Main Street               CustomerID: 1
| Anytown, CA 90210
+-----------------------------------------------
| Chris                     ShoppingTripID: 1
| 123 Main Street               CustomerID: 1
| Anytown, CA 90210
+-----------------------------------------------
| John                      ShoppingTripID: 2
| 123 Main Street               CustomerID: 3
| Anytown, CA 90210
+-----------------------------------------------
| John                      ShoppingTripID: 2
| 123 Main Street               CustomerID: 3
| Anytown, CA 90210
+-----------------------------------------------
| Computer   $999.00
| Laptop    $1099.00
+-----------------------------------------------
| Computer   $999.00
| Laptop    $1099.00
+-----------------------------------------------
| Ipod       $999.00
| Television $1099.00
+-----------------------------------------------
| Ipod       $999.00
| Television $1099.00
+-----------------------------------------------

1 Ответ

2 голосов
/ 22 июля 2010

Переместите основной отчет в подробности отчета (разбитые на подразделы для форматирования, если необходимо) и поместите подотчет в детали.

Таким образом, вы получите основной отчет (плюс подотчет) для каждого пользователя.

Редактировать

Чем больше я думаю об этом, вам, вероятно, даже не нужен подотчет. Если вы объедините свои таблицы покупок и поездки за покупками вместе в основном отчете, вы можете поместить информацию о покупках в детали, сгруппированные по идентификатору покупателя.

В заголовок группы вы поместите все, что в данный момент находится в вашем основном отчете.

Отсюда вы можете передать отчет со списком идентификаторов поездок за покупками в качестве параметра и использовать этот параметр в формуле выбора записи.

У вас должно получиться что-то вроде этого ( отредактировано 2010/07/25):

+-----------------------
| Report Header 
+-----------------------
| Page Header
+-----------------------
| Group Header (Grouped by **ShoppingTripID**)
|   Display your shopper information here
+-----------------------
| Details
|   Display your shopping trip information 
|   for the shopper here
+-----------------------
| Group Footer
+-----------------------
| Page Footer
+-----------------------
| Report Footer
+-----------------------
...