Dynamics CRM 2011编程系列(37):调用报表的72般绝技

    在之前的博文中已经介绍如何用Microsoft Reporting Service制作报表,以及如何将制作好的报表发布到Dynamics CRM 2011 系统中。那么本文就来聊聊怎样快捷的调用我们制作好的报表吧。

    正常情况下我们在Dynamics CRM 2011系统中浏览报表的步骤如下:

1.进入Dynamics CRM 2011系统

2.选择栏目“工作区”-->“报表”

3.找到我们需要浏览的报表

4.录入参数,并提交

5.显示结果

 

   很多时候我们希望能快捷的浏览某个报表,比如点击个按钮就能调用报表并显示对应的结果。假如要完成这个需求,我们必须简化正常情况下浏览报表的前4个步骤。这样看来我们将要实现的程序必须具备如下功能:

1.知道用户当前浏览什么报表

2.能模拟用户输入和提交操作

 

我们看个小例子吧:

涉及的实体

市场活动

涉及的报表

CampaignDetail(需了解该报表的详细情况,请参阅博文《Dynamics CRM 2011编程系列(34):报表的制作(一)》 )

 

操作步骤

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第1张图片

图1

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第2张图片

图2

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第3张图片

图3

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第4张图片

图4

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第5张图片

图5

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第6张图片

图6

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第7张图片

图7

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第8张图片

图8

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第9张图片

图9

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第10张图片

图10

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第11张图片

图11

Dynamics CRM 2011编程系列(37):调用报表的72般绝技_第12张图片

图12

 

使用到的代码

function form_onload_1()
{
    var navigate=document.getElementById("tab1Tab");
    navigate.attachEvent("onclick",loadCampaignDetailReport);
}

function loadCampaignDetailReport()
{
    var campaignId=Xrm.Page.data.entity.getId();
    var reportPanel=Xrm.Page.getControl("IFRAME_CampaignDetail").getObject().contentWindow.document.getElementById("resultFrame").contentWindow;
    var campaignIdInputDom=reportPanel.document.getElementById("reportViewer_ctl04_ctl04_txtValue");
    var submitButton=reportPanel.document.getElementById("reportViewer_ctl04_ctl00");
    campaignIdInputDom.value=campaignId;
    submitButton.click();


 

 

小结

用这种方法加载报表不过瘾,下篇博文将分享一个工具:该工具将彻底解决报表的加载问题。

 

你可能感兴趣的:(Dynamics CRM 2011编程系列(37):调用报表的72般绝技)