区分Crystal Reports的最佳方式是什么?


12

如果您有相同报告(.rpt)的两个版本,并且您想确定确切的区别是什么,那么最好的方法是什么?我已经看到了一些商业工具可以做到这一点,但我并不太感兴趣为现金应付相对简单的事情。我可以绑定到Crystal API并简单列出每个字段的所有属性或其他内容吗?请有人告诉我,有一个开放源代码项目是这样做的... @ :-)

@Kogus,不会区分输出作为文本隐藏任何格式差异?

@ladoucep,我似乎没有能够导出报告没有数据。

+1

刚刚通过另一种方式进行比较,特别是查找隐藏在各种报表对象的所有属性中的代码更改 - 以“报表定义(TXT)”格式导出报表 16 5月. 142014-05-16 15:43:18

8

我可以挂接到水晶API和 简单地列出所有的 每一个领域或某事的性质?请 有人告诉我,有一个开放 代码项目的地方,确实 这个... @ :-)

其实也有,这样的API。我写了一个VB6应用程序来完成你所要求的和更多的事情。我想我甚至将它迁移到VB.Net。由于这是为了我自己的用途,我没有花太多时间去做“打磨”。我一直打算发布它,但我没有时间......

过去我使用的另一种方法是创建一个Access应用程序来帮助管理大型的报表开发项目。它的许多功能之一包括提取报表使用的表的功能,以及其命令和SQL表达式使用的SQL语句。它的目的是从全球角度给出哪些报告使用哪些表格。我可能还是有它的地方......

**编辑** 1

的BusinessObjects Enterprise XI(R?)有一个名为 '元管理器' 功能。它将定期检查存储库的内容并将结果保存到数据库。它使用报告 - 应用程序服务(RAS)来生成元数据。当然,这是一个额外的5位数字许可证。

**编辑2 **

考虑使用PowerShell中做的工作:PsCrystal

+1

如果您认为您的代码支持Crystal Reports 11,那么我会有兴趣获得对您描述的两个程序的访问权限。 13 11月. 092009-11-13 15:46:51

  0

这确实听起来很方便,难道你会很乐意把它放在GitHub存储库或其他东西? 16 11月. 092009-11-16 07:15:46

+5

已添加到code.google.com。项目名称是'RptToXml'。 18 11月. 092009-11-18 18:26:33

  0

克雷格,感谢您的超棒工具!非常方便。 14 12月. 102010-12-14 20:49:34


1

一种有用的技术是将两种版本的报告输出为纯文本,然后比较这些输出。

您可以使用水晶报表组件来编写某些内容来描述报表的每个属性,就像您所描述的那样。那么你可以输出为文字,而diff 那些。我不知道有任何开源工具可以为你做,但编写它并不难。

@question在后: 版本比较的输出,如果相对位置发生了变化只会显示格式更改。举例来说,如果我有这样的:

前: 名字,姓氏,编辑部地址

后: 姓氏,姓名,地址

那么这将显示为差异。

但是,如果我刚刚将地址列碰到几个像素,或者将其从纯文本更改为粗体,那么您是对的,那不会显示出来。

  0

将每个报表导出为报表定义格式基于文本的文件)和使用任何文本比较工具比较比较或比较比较报告 31 8月. 152015-08-31 23:18:27


1

过去曾经效果很好的一种技术是根据相同的数据打印出两个版本的报告。然后,我会从每个版本中拿出第一页,将其中一个放在另一个的上面(重要的是不要将它们混合在一起)并将它们保持在一个窗口中。通常很容易发现任何差异,这些差异可以用适当的书写工具(例如铅笔)手动注释。重复报告中的每个页面。

不可否认,对于大型报告而言,这可能相当耗时且容易出错,但这些限制可以通过耐心和细心来克服。

+2

哈,很好 - 低技术(或没有技术)的方式往往是最好的! 29 10月. 082008-10-29 22:40:36