从功能区按钮触发报告

Mad*_*ore 5 reporting-services dynamics-crm-2011

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

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

提前致谢 !

Gri*_*ory 8

要从功能区按钮运行报告,您需要创建一个js文件,其中包含您将从按钮调用的功能.

你需要4件事:

  1. rdlName - rdl文件名.
  2. reportGuid报告的GUID.
  3. entityGuid =您为其运行报告的实体GUID.
  4. entityType =实体对象类型代码.

这是一个例子.

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);
}
Run Code Online (Sandbox Code Playgroud)

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

要将其添加到功能区按钮,您需要在此文章中如何从应用程序功能区(CRM 2011)启动对话框,除非您需要调用报告而不是对话框.