CRM4.0虽然提供了在线的报表设计器,可以让你像在Visual Studio的报表设计器里相似的方法来定制简单的报表而无需代码,这种方式有利于管理员方便的构建一些常用的简单报表。而这样的方式却无法提供内容更丰富的统计报表,这个时候我们就需要借助于Visual Studio来开发Reporting Service报表并上载到CRM Server的报表管理器中(不是SSRSReport Server.

为了保持我们和其他CRM报表的统一性,我们做定制开发报表的时候通常结合报表设计器和Visual Studio一起的方式来开发。首先会按照Report Wizard report的方式并在输入报表名称后点击”Report Wizard”按钮来开始一个在线的报表设计。接下来的过程很简单,按照Wizard一步一步的做下来就可以,与Visual Studio中的Wizard很相似,只是多了Primary entitySecond Entity,用来选择相关的数据源。最终我们可以将我们生成的报表通过点击”More Action”->”Export”来保存到本地。

接下来,我们将这个Export出来的报表添加到Visual Studio的报表项目中,更改Data Source为正确的Data Source(有些情况下你的可能与原来的不同)。修改数据获取的定义(SQL),并定制你自己的展现数据的界面。最终这些定义都被保存为一个基于XMLRDL文件中,接下来我们要做的就是将这个RDL文件上传到CRM 4.0的报表管理中。点击Workplace -> My Work -> Reports打开报表管理界面,点击New按钮来添加一个新的按钮,选择以Existing File的方式来上传一个报表,如下图所示:


需要注意的是:Report Type – 需要选择Existing File. File Location – 通过客户端的文件浏览来找到你的报表文件(RDL); Display In – 默认是现实在Report Areas里的,这样所有有报表浏览权限的人便可以通过Reports链接来看到这个报表,当然你也可以选择同时显示到别的区域。点击Save按钮来上传我们的报表到CRM服务器,这个时候CRM会检查报表的正确性(实际上就是运行),如果通过检查将会保存到SSRS Report Server,并注册到CRM里(Report Server里多了一个类型为GUIDType字段来标识Report.但有些时候(比如你的开发不是在报表服务器/CRM服务器上做的-当然这也是我们大多数时候的场景)你会得到一个错误:


检查一下具体的错误你会发现是因为报表数据中存在错误.如何解决呢?

1.         将这个报表在一个Report Server Project中通过Add Existing Item加入。

2.         选择你的数据集并点击其旁边的”…”按钮来打开数据集详细定义。

3.         点击Data Source下拉列表右边的”…”按钮来打开数据源定义窗口。

4.         取出Use Shared Data Source Reference复选框,并通过点击Edit按钮来构建链接到CRM数据库的连接串。如下图所示:


5.         保存对Data Source的设置,并保存对整个报表的更改。

6.         通过前边的方式再次Upload,这个问题就应该解决了。

posted on 2008-07-10 10:57  Allan.  阅读(2633)  评论(4编辑  收藏  举报