您是否尝试过在保存回调中调用保存并调用刷新?
保存:Xrm.Page.data(客户端参考)
Xrm.Page.data.save(saveOptions).then(successCallback, errorCallback)
刷新:Xrm.Page.data(客户端参考)
Xrm.Page.data.refresh(save).then(successCallback, errorCallback);
结合:
Xrm.Page.data.save().then(function(){Xrm.Page.data.refresh(false);});
- 编辑 -
我会猜测你想要做什么......
- 对表格进行了更改
- 用户点击保存或执行自动保存
- CRM 完全保存记录后,您想执行其他一些 JavaScript 操作吗?
您可以尝试的一件事是连接到表单 OnSave 事件。使用 javascript 超时检查表单的 isDirty 属性。一旦表单不再脏,CRM 就保存了数据。
创建一个新的表单库 javascript 文件并添加如下内容: 使用“SetExecuteOnSaveComplete”作为要调用的函数为表单创建一个新的 OnSave 事件。
function ExecuteWhenSaveComplete(callback) {
setTimeout(function () {
if(!Xrm.Page.data.entity.getIsDirty())
return callback();
//alert('not complete');
ExecuteWhenSaveComplete(callback);
}, 500);
}
function SetExecuteOnSaveComplete(){
ExecuteWhenSaveComplete(function(){
alert('form save complete');
// do what you need to do
});
}