我是CRM 2011的新手。我在Common.js文件中创建了一个javascript函数。此函数将在许多表单的其他函数中调用。此函数还包含FetchXML查询。在每个表单中,我创建了一个特定的函数,其中包含对我的泛型函数的调用。我在表单的OnSave事件上调用此特定函数。问题是,当我在save上调用特定函数时,在泛型函数中我将对刚刚保存的实体执行FetchXML查询,但是FetchXML查询在保存发生之前返回值(我刚刚保存的实体)调用具有FetchXML查询的函数,我无法在FetchXML查询的结果中看到更改的属性及其新值!)。我尝试了另一个解决方案,而不是从OnSave对话调用特定的函数,我使用方法Xrm.Page.data.entity.addOnSave(我的特定函数)来确保它将在表单保存后调用,但它仍然是获取旧值。你能帮帮我吗?
谢谢, Walloud
答案 0 :(得分:3)
Xrm.Page.data.entity.addOnSave
会在OnSave
事件中添加一个函数,这意味着在保存记录之前仍会执行。
我建议在插件中移动逻辑。
答案 1 :(得分:0)
有两种可能性:
我认为您应该使用表单onload事件并检查是否为第一个类型创建了记录Xrm.Page.ui.getFormType()= 1不要FetchXMl因为将要创建新记录。
如果Xrm.Page.ui.getFormType()= 2则为FetchXml
或者您可以使用
setInterval (function() FetchXML},3000);