create a new tab and embed the Audit History in the IFrame - PowerApps/ Dynamics 365

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.

create a new tab and embed the Audit History in the IFrame - PowerApps/ Dynamics 365

 

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();
}

     
上一篇:audit in debian


下一篇:SSH 用户操作审计