我有一个报价形式的场景,当记录处于状态时,显示进度指示器,但是当状态更改(来自另一个过程)时,该指示器必须关闭。
function showIndicator(executionContext){
var formContext = executionContext.getFormContext();
var status = formContext.getAttribute('statuscode').getValue();
var message = 'Quote is being processing'
if(status == 493430001){
Xrm.Utility.showProgressIndicator(message);
setTimeout(function () {
//Refresh Form
formContext.data.refresh(false);
});
}, 3000);
}else{
Xrm.Utility.closeProgressIndicator();
}
}
此函数在页面加载时执行。我想在3秒后刷新页面并再次检查记录的状态,如果仍在处理,则显示消息,然后在3秒后再次刷新
使用 setInterval 代替 setTimeout
function showIndicator(executionContext){
var formContext = executionContext.getFormContext();
var status = formContext.getAttribute('statuscode').getValue();
var message = 'Quote is being processing'
if(status == 493430001){
Xrm.Utility.showProgressIndicator(message);
setInterval(function () {
showIndicator(executionContext);
}, 3000);
}else{
Xrm.Utility.closeProgressIndicator();
}
}