在CRM 2011中保存表单后调用javascript函数

时间:2014-03-11 00:09:57

标签: dynamics-crm-2011 dynamics-crm dynamics-crm-4 dynamics-crm-online

我是CRM 2011的新手。我在Common.js文件中创建了一个javascript函数。此函数将在许多表单的其他函数中调用。此函数还包含FetchXML查询。在每个表单中,我创建了一个特定的函数,其中包含对我的泛型函数的调用。我在表单的OnSave事件上调用此特定函数。问题是,当我在save上调用特定函数时,在泛型函数中我将对刚刚保存的实体执行FetchXML查询,但是FetchXML查询在保存发生之前返回值(我刚刚保存的实体)调用具有FetchXML查询的函数,我无法在FetchXML查询的结果中看到更改的属性及其新值!)。我尝试了另一个解决方案,而不是从OnSave对话调用特定的函数,我使用方法Xrm.Page.data.entity.addOnSave(我的特定函数)来确保它将在表单保存后调用,但它仍然是获取旧值。你能帮帮我吗?

谢谢, Walloud

2 个答案:

答案 0 :(得分:3)

Xrm.Page.data.entity.addOnSave会在OnSave事件中添加一个函数,这意味着在保存记录之前仍会执行。

我建议在插件中移动逻辑。

答案 1 :(得分:0)

有两种可能性:

  1. 我认为您应该使用表单onload事件并检查是否为第一个类型创建了记录Xrm.Page.ui.getFormType()= 1不要FetchXMl因为将要创建新记录。

  2. 如果Xrm.Page.ui.getFormType()= 2则为FetchXml

    或者您可以使用

     setInterval  (function() FetchXML},3000);