我有以下OnSave表单事件的事件处理程序:
function saveEntityForm(executionContext) {
executionContext.getFormContext().data.save().then();
}
当我单击表单上的“保存”按钮时,弹出带有以下文本的信息:
保存中
请等待保存完成,错误代码:0x83215603
我正在使用统一接口。
发生此问题的原因可能是什么?如何解决?
答案 0 :(得分:0)
我自己为自定义代码添加了setTimeout,而不是使用如下的显式保存方法解决了该问题:
$cast
答案 1 :(得分:0)
仅当您在表单已保存的情况下尝试保存时,才会出现“请稍等,请保存”-表单不允许同时进行两次保存。这就是调用setTimeout起作用的原因-它将延迟调用save,并且到那时,原始保存将完成。
但是,请注意,这会影响性能,并且如果在网络速度较慢的情况下,甚至可能无法正常工作,因为在XXX秒后可能无法保存表格!
如果此代码是在onsave事件处理程序中执行的,则应先调用preventDefault()来阻止默认保存的发生,然后再调用executionContext.getFormContext()。data.save()将按预期工作(请参见{ {3}})
如果此代码在特定控件的onchange处理程序中执行,则可以尝试调用isDefaultPrevented或getSaveMode以确定是否保存表单,如果是,则调用save() https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/save-event-arguments/preventdefault