1

我正在尝试使用 SSRS 2008 R2 创建多张发票的批处理报告。

我已经创建了初始发票报告并设置了参数;该参数使用 InvoiceID 填充发票报告中的数据。

我使用列表创建了另一个报告,列表内部包含原始发票报告中的信息,但使用不同的参数 (BatchID)。我遇到的问题是,不是为每个 invoiceID 创建一个发票,而是为每个发票中的每个行项目创建一个发票。即~不是基于 InvoiceID 合并多个项目(如原始报告所做的那样),而是为每个项目创建一个报告。

运行一批这些发票的最佳方式是什么?我是以错误的方式解决这个问题,还是我在正确的轨道上但错过了什么?

提前致谢!

SELECT i.InvoiceId, i.InvoiceNumber, i.BillTo_Line1, i.BillTo_Line2, i.BillTo_City, i.BillTo_StateOrProvince, i.BillTo_PostalCode, i.CustomerIdName, 
                     i.ce_OutstandingBalance, i.ce_BillToDate, i.ce_BillFromDate, i.TotalAmount, id.ProductIdName, id.ce_customeridName, id.ce_CustomerProductName, 
                     id.InvoiceDetailId, id.BaseAmount, id.PricePerUnit, id.ce_rate
FROM 
                         Invoice AS i RIGHT OUTER JOIN
                         InvoiceDetail AS id ON i.InvoiceId = id.InvoiceId

在此处输入图像描述 输入 invoiceID 后,我会收到报告 在此处输入图像描述

我的目的是能够针对多个发票编号运行报告,而无需选择发票编号本身。我有另一个表,它根据它们运行的​​批处理 ID 收集发票 ID。

到目前为止,我已尝试使用原始报告创建一个子报告,并创建一个使用列表的单独报告,并尝试按 InvoiceID 对每个批次进行分组。虽然到目前为止我都没有成功。

我是 SSRS 的新手,一直在翻阅 MSDN 上关于 SSRS 和不同能力的文档。

4

1 回答 1

6

对于这种重复列表,了解列表/分组如何工作是一个问题。

列表、表格和矩阵都是相同的底层对象 - Tablix。

List 是一个 Tablix,其中包含一个详细信息行(即,Dataset 中的每一行对应一个 Tablix 行)、该行中的一个文本框和该文本框中的一个 Rectangle。矩形可以有各种嵌入元素,如更多的文本框,因此为数据集中的每一行提供了一个重复的自由格式项。

在设计器中创建 List 时可以看到:

在此处输入图像描述

我假设您的报告查询需要 aBatchID并返回一些发票及其发票详细信息。我对您的数据采取了一些自由,并创建了一个简化的示例数据集:

在此处输入图像描述

您希望 Rectangle 对每个InvoiceNo. 当前行组没有分组项 - 将其更改InvoiceNo为组属性下并根据需要展开矩形。

您可以开始添加诸如发票级别项目的文本框之类的元素,例如:

在此处输入图像描述

请注意,Tablix 的左侧已从行更改为括号 - 这是因为将分组项添加到行组。

这将为每个 重复一次InvoiceNo。现在我们要添加行项目 - 您可以通过将新表格拖到矩形中来做到这一点。由于我们有一个行组,因此该表将仅显示该组中的项目:

在此处输入图像描述

为样本数据运行时,这会给出一个丑陋但实用的重复发票报告:

在此处输入图像描述

这可以根据需要进行整理,并根据需要在 Group 属性中的 Group 项之间插入页面组。

希望这至少能让您大致了解如何完成任务。

于 2013-08-28T22:20:18.910 回答