Hi,
I tried it for online every thing is ok, but PDF will not open.
find code below::
-------
function getReportingSession() {
alert("Hi in getReportingSession");
var selectedIds = Xrm.Page.data.entity.getId();
var reportName = "Invoice.rdl";
var reportGuid = "77945D70-300C-E711-8142-C4346BDD3161";
alert("Hi in " + reportGuid);
var pth = Xrm.Page.context.getClientUrl() + "/CRMReports/rsviewer/QuirksReportViewer.aspx";
var retrieveEntityReq = new XMLHttpRequest();
retrieveEntityReq.open("POST", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var req = "id=%7B" + reportGuid + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&helpID=" + reportName + "&isScheduledReport=false"
alert(req);
retrieveEntityReq.send(req);
var x = retrieveEntityReq.responseText.lastIndexOf("ReportSession=");
var y = retrieveEntityReq.responseText.lastIndexOf("ControlID=");
var ret = new Array();
ret[0] = retrieveEntityReq.responseText.substr(x + 14, 24);
ret[1] = retrieveEntityReq.responseText.substr(x + 10, 32);+
alert("Hi before return");
return ret;
}
function GenerateInvoice() {
var params = getReportingSession();
var newPth = Xrm.Page.context.getClientUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] + "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] + "&OpType=Export&FileName=public&ContentDisposition=OnlyHtmlInline&Format=PDF";
window.open(newPth, "_self");
}
function getReportGuidByName(reportName) {
var fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
"<entity name='report'>" +
"<attribute name='name' />" +
"<attribute name='reporttypecode' /> " +
"<attribute name='filename' /> " +
"<attribute name='reportid' />" +
"<filter type='and'>" +
"<condition attribute='name' operator='eq' value='" + reportName + "' />" +
"</filter>" +
"</entity>" +
"</fetch>"
var fetchQuery = new Sdk.Query.FetchExpression(fetchXml);
var results = Sdk.Sync.retrieveMultiple(fetchQuery);
return results.view().entities[0].attributes.reportid.fValue;
}