我们要求保存后刷新表单(以确保某些隐藏/显示逻辑根据字段值按预期工作)。
当前,保存记录后,表单不会自动刷新。
我浏览了一些文章,并找到了以下引用资料:
http://msdn.microsoft.com/en-us/library/dn481607%28v=crm.6%29.aspx
当我尝试执行以下任一操作时,它将导致无限循环并引发“超出Callstack的最大限制”错误。
OnSave(context)
{
//my logic
...
...
Xrm.Page.data.save.then(SuccessOnSave, ErrorOnSave);
}
function SuccessOnSave()
{
//force refresh
Xrm.Page.data.refresh();
}
function ErrorOnSave()
{
//do nothing
}
OnSave(context)
{
...
...
//force refresh
Xrm.Page.data.refresh(true).then(SuccessOnSave, ErrorOnSave);
}
function SuccessOnSave()
{
//do nothing
}
function ErrorOnSave()
{
//do nothing
}
有人可以解释一下如何使用refresh或save方法强制刷新表格吗?
拉杰什
最佳答案
对我来说,这就是解决问题的方法(CRM 2015)
// Save the current record to prevent messages about unsaved changes
Xrm.Page.data.entity.save();
setTimeout(function () {
// Call the Open Entity Form method and pass through the current entity name and ID to force CRM to reload the record
Xrm.Utility.openEntityForm(Xrm.Page.data.entity.getEntityName(), Xrm.Page.data.entity.getId());
}, 3000);