• 周二. 8月 16th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

create a new tab and embed the Audit History in the IFrame

admin

11月 28, 2021

create a new tab and embed the Audit History in the IFrame. For some reasons, it shows a bit differently (Filter dropdown and Delete Change History button is now shown). Please be aware that the current Audit History is one of the certain legacy dialogs which is enabled as part of hybrid experience in Unified Interface. When Microsoft implement the Audit History in full Unified Interface experience, you will have to re-implement this functionality.

Embedding the Audit History in the IFrame will require JavaScript to populate the entity ID and object type code parameters. WebAPI request will be required to get Object Type Code and the sample JavaScript code is at the end of this reply.

setAuditIframeURL: function(executionContext)
{
var formContext = executionContext.getFormContext();
var requestUrl = “/api/data/v9.1/EntityDefinitions?$filter=LogicalName eq ‘” + formContext.data.entity.getEntityName() + “‘&$select=ObjectTypeCode”;
var req = new XMLHttpRequest();
req.open(“GET”, Xrm.Utility.getGlobalContext().getClientUrl() + requestUrl, true);
req.setRequestHeader(“OData-MaxVersion”, “4.0”);
req.setRequestHeader(“OData-Version”, “4.0”);
req.setRequestHeader(“Accept”, “application/json”);
req.setRequestHeader(“Content-Type”, “application/json; charset=utf-8”);
req.onreadystatechange = function () {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200)
{
var result = JSON.parse(this.response);
var objectTypeCode = result.value[0].ObjectTypeCode;
formContext.getControl(“IFRAME_audit”).setSrc(location.protocol +
“//” + location.hostname + “/userdefined/areas.aspx?oId=” +
formContext.data.entity.getId().replace(“{“, “”).replace(“}”, “”) +
“&oType=” + objectTypeCode +
“&inlineEdit=1&navItemName=Audit History&pagemode=iframe&rof=true&security=852023&tabSet=areaAudit&theme=Outlook15White”);
}
else
{
Xrm.Navigation.openAlertDialog({ text: this.responseText });
}
}
};
req.send();
}

 
 

发表回复

您的电子邮箱地址不会被公开。