今天用VS自带的报表设计器开发报表,在report wizard中创建完报表然后在VS中修改,导入CRM中却报下面的一个错:
An error has occurred during report processing.
Query execution failed for data set 'DSMain'.
Must declare the scalar variable "@CRM_FilteredNew_expenseorder".
我根本没有动这个DSMain数据集,对比一下修改前的rdl文件,发现这两者也差不多,搞了好半天,最后不得已将做好的body部分替换掉修改前rdl文件中的body部分,错误消失了。真奇怪。
哈哈找到原因了:
使用XMLNotepad2007来查看rdl文件的确很方便(应该是说查看所有xml文件)。
2. 可以在报表中添加自定义的Dataset,然后把自己需要的数据添加进去(CRM导出的报表只能最多含有两张关联的表),数据集可以直接取CRM数据库中的视图(视图可以进行join连接,默认是inner),还可以使用存储过程等,一般存储过程用于处理比较复杂的数据逻辑,视图用于多个表的数据展现。
在报表中,如果该字段是lookup类型都字段,若想直接得到该字段的string类型的值,则在dataset中添加一个fieldname+‘name’的字段,更改commandtext,将fieldname+‘name’添加进去,就可以在报表中直接引用它的值。