从功能区按钮触发报告

时间:2012-05-14 12:46:05

标签: reporting-services dynamics-crm-2011

我有几个自定义报告,我希望能够在功能区中添加触发它们的按钮。

有可能吗?如果是这样,任何例子都会很棒!

提前致谢!

2 个答案:

答案 0 :(得分:8)

要从功能区按钮运行报告,您需要使用您将从按钮调用的功能创建一个js文件。

你需要4件事:

  1. rdlName - rdl文件名。
  2. reportGuid报告的GUID。
  3. entityGuid =您为其生成报告的实体GUID。
  4. entityType =实体对象类型代码。
  5. 以下是示例。

    function printOutOnClick() {
        // This function generates a Print out
        var rdlName = "SomeReport.rdl";
        var reportGuid = "9A984A27-34E5-E011-B68F-005056AC478A";
        var entityGuid = Xrm.Page.data.entity.getId();//Here I am getting Entity GUID it from it's form
        var entityType = "4214";
        var link = serverUrl + "/" + organizationName + "/crmreports/viewer/viewer.aspx?action=run&context=records&helpID=" + rdlName  + "&id={" + reportGuid + "}&records=" + entityGuid + "&recordstype=" + entityType;
        openStdDlg(link, null, 800, 600, true, false, null);
    }
    

    openStdDlg()是window.open()的包装器,MS Dynamics CRM本身也使用它,我也是。

    要将其添加到功能区按钮,您需要在此帖How to start a Dialog from Application Ribbon (CRM 2011)中执行此操作,除非您需要调用报告而不是对话框。

答案 1 :(得分:1)

在RDL名称之后,Guid应该是RecordGuid而不是EntityGuid