【问题标题】:Combining Reports that use subreports already合并已使用子报表的报表
【发布时间】:2016-03-11 14:20:16
【问题描述】:

我知道有一些帖子是关于如何通过使用子报告等来组合 2 个报告。

我正在使用 iReport 5.6 和 Fishbowl Inventory 系统。

我的问题与 2 个特定的默认鱼缸报告有关。我正在尝试合并Work Order Travelor 报告和Pick Ticket 报告,以便它们同时打印出来。

我遇到的问题是 Pick Ticket 报告已经内置了一个子报告,并且我在传递参数时遇到了问题(PT 报告有 12 个参数)。我是否需要通过主报告中的所有 12 项,然后这也适用于 WO Traveler 报告?

我只是希望他们都能够打印示例:第一页是 Pick Ticket,第二页是 WO Traveler。

感谢大家的帮助!

【问题讨论】:

  • 您使用什么报告服务?
  • 我很抱歉没有将其包含在 OP 中(我将编辑)。我正在使用 iReport 5.6 版
  • 实在看不懂题,可以把整个参数映射传给子报表吗?
  • @PetterFriberg 这是我的一个新问题;我很想得到你的反馈! stackoverflow.com/questions/35927870/…

标签: jasper-reports


【解决方案1】:

您必须传递所有参数。您可以查看批处理报告以查看此操作的示例,并为您提供一些东西。 但是,您可以更改的一件事是,除了通过 $P{moNum} 和 $P{pickId} 之外,您还可以通过您选择 MO 的顶级报告的查询中的字段,并且查询会找到任何关联的选择 ID然后通过。

你会寻找类似的东西:

SELECT DISTINCT Mo.num AS moNum, PickItem.pickId
FROM Mo
    INNER JOIN MoItem ON Mo.id = MoItem.moId
    INNER JOIN Wo ON MoItem.id = Wo.moItemId
    INNER JOIN WoItem ON Wo.id = WoItem.woId
    INNER JOIN PickItem ON WoItem.id = PickItem.woItemId
WHERE Mo.num LIKE $P{moNum}

【讨论】:

  • 如何查看批量报告?
  • 在 %Fishbowl%/server/reports 目录中有一个批处理文件夹,其中包含几个批处理样式的报告文件。
  • 没有简单的解决方案。父报表必须具有子报表的所有参数,以便它们可以通过。唯一的例外是您可以用父报告查询中的字段替换的两个必需参数(pick id 和 mo num)。唯一的捷径是您可以在制作父报表时从子报表中复制和粘贴参数。
  • 是的。因此,您的主报告将需要包含拣货单和工作订单旅行者的所有参数,以便为每个报告传递相关参数。某些参数可能很常见,在这种情况下,您只需将其包含一次即可用于两者,或者如果您需要为每个参数提供单独的选项,您可以重命名参数。
  • 它似乎缺少 iReport 中的鱼缸罐。您可以删除所有现有的类路径 jar,并从 Fishbowl lib 目录添加 jar,以确保您获得最新的 jar 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-20
  • 2010-10-14
  • 2011-05-01
相关资源
最近更新 更多