注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

微软MVP罗勇的博客

微软MVP罗勇,www.luoyong.me

 
 
 

日志

 
 

Dynamics CRM报表开发教程之非预筛选报表开发,即显报表  

2013-12-03 13:32:38|  分类: CRM报表 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    CRM中大部分报表都是预筛选报表,需要选定记录后运行报表。如何做到对当前记录的表单窗体中,点击按钮后直接出来报表呢?我这里有个效果如下:在记录的表单窗体中,点击导航栏的一个新建导航项,然后右边直接出来报表,不需要做像预筛选报表那样的多个操作步骤,用于某些情况下的显示和打印很不错,具体做法如后所示,主要原理也是利用CRM支持的通过URL直接运行报表,其中夹杂了如何传递值给报表参数。

    1.      制作并上传报表。我这里使用查询文本 select name from FilteredAccount where accountid=@RecordId ,注意查询文本的蓝色部分,报表会自动增加一个名称为 RecordId 的文本参数,注意将这个参数设置为隐藏参数,如后图所示。还有个小技巧就是在设计的时候为这个参数设定默认值,这样方便预览的时候不用输入参数值直接可以看到报表。制作好后确保报表能正常预览。

Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
报表预览正常:
Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
2.       获取报表ID。上传并保存报表后,点击操作 > 复制连接,复制出来的链接类似如下:

 http://192.168.1.111:5555/Demo/crmreports/viewer/viewer.aspx?id=%7bD9FF2901-B35B-E311-89D8-00155D016703%7d ,红色部分保存下来备用,这个便是报表的ID。

 Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客

 

Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客

 

3.     新建Web资源。比如我这里便是建立一个名称为 new_/AccountReport.htm 的HTML类型的Web资源(为什么明明要加上 / 呢?这是为了以后方便使用相对路径来引用这个web资源)。其HTML代码如后:注意红色部分换成你上一步骤记下来的报表ID。这些HTML代码还包括了隐藏报表的文件栏和参数栏,只留下了工具栏,否则到时候到界面上不好看,因为报表工具栏上面还有大片的不怎么相关的区域。注意我这里打开的报表参数只有一个,若有多个,用 & 分隔开。

<html>
<head>
    <title>报表</title>
    <script type="text/javascript">
        OnLoad = function () {
            var parentEntity = window.parent.Xrm.Page.data.entity;
            var reporturl = window.parent.Xrm.Page.context.getClientUrl() + "/crmreports/viewer/viewer.aspx?action=run&helpID=AcctReport.rdl&id=%7bD9FF2901-B35B-E311-89D8-00155D016703%7d&p:RecordId="
           + parentEntity.getId();
            var reportFrame = document.getElementById("reportContainer");
            reportFrame.src = reporturl;
        };
    </script>
</head>
<body onload="OnLoad();">
    <div id="container">
        <iframe id="reportContainer" src="about:blank" width="100%" height="120%" style="position:absolute;left:0;top:-95px;"></iframe>
    </div>
</body>
</html>

Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
4. 修改实体(我这里是客户)的主要窗体,选中导航,然后插入一个导航链接,设置如后所示:
Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
5. 发布并测试。发布上面这些自定义项,并测试,打开某个客户,点击ACCTREPORT这个导航链接,就会出来报表,测试OK,可以很方便的更换显示样式或者打印。
 
Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
 素格格新疆特产店--做最好新疆特产的搬运工。
本店由博主的新疆老婆开设,搬运各种最好的新疆特产,是自用,送礼,年货,孝敬长辈特别是(岳)父母的首选!
Dynamics CRM报表开发教程之非预筛选报表开发,即显报表 - 罗勇 - 罗勇的博客
 
  评论这张
 
阅读(583)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018