time 
设为首页】【收藏本站
当前位置: 主页 > ERP > CRM > 【Dynamics CRM报表开发】5、非预筛选报表开发

【Dynamics CRM报表开发】5、非预筛选报表开发

时间:2014-10-17 15:46 点击:549次 字体:[ ]




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

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

【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com
 
【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com
 
报表预览正常:
【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com
 
2.       获取报表ID。上传并保存报表后,点击操作 > 复制连接,复制出来的链接类似如下:

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

 【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com

 

【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com

 

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报表开发】5、非预筛选报表开发_www.fengfly.com
 
4. 修改实体(我这里是客户)的主要窗体,选中导航,然后插入一个导航链接,设置如后所示:
【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com
 
【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com
 
5. 发布并测试。发布上面这些自定义项,并测试,打开某个客户,点击ACCTREPORT这个导航链接,就会出来报表,测试OK,可以很方便的更换显示样式或者打印。
 
【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com
 
【Dynamics CRM报表开发】5、非预筛选报表开发_www.fengfly.com
 
 
 

 



本文地址 : http://www.fengfly.com/plus/view-215409-1.html
标签: Dynamics CRM 报表开发 非预筛选报表
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: