Dynamics crm 2011 我可以通过编程刷新Outlook实体视图吗?(在线2013)

Dynamics crm 2011 我可以通过编程刷新Outlook实体视图吗?(在线2013),dynamics-crm-2011,dynamics-crm,crm,dynamics-crm-online,Dynamics Crm 2011,Dynamics Crm,Crm,Dynamics Crm Online,我们的安装程序是Outlook 2010+CRM加载项,连接到2013在线实例 我在lead grid功能区上有一些自定义功能区按钮,用于操纵选定的lead。在完成某些操作后,我希望告诉Outlook刷新当前视图,因为该操作已更新选定的潜在客户,因此这些潜在客户不应再显示在当前视图中 目前,我必须向用户解释,视图会按照自己的计划进行更新,如果用户希望立即更新,他们必须手动刷新视图(视图选项卡/刷新按钮)。毫不奇怪,我收到了很多关于这个的抱怨 似乎建议有一种方法可以通过编程刷新视图,但我不了解如何

我们的安装程序是Outlook 2010+CRM加载项,连接到2013在线实例

我在lead grid功能区上有一些自定义功能区按钮,用于操纵选定的lead。在完成某些操作后,我希望告诉Outlook刷新当前视图,因为该操作已更新选定的潜在客户,因此这些潜在客户不应再显示在当前视图中

目前,我必须向用户解释,视图会按照自己的计划进行更新,如果用户希望立即更新,他们必须手动刷新视图(视图选项卡/刷新按钮)。毫不奇怪,我收到了很多关于这个的抱怨

似乎建议有一种方法可以通过编程刷新视图,但我不了解如何使其工作的细节

是一些关于手动刷新图片的信息

下面是我需要使用自定义按钮JS刷新的Outlook视图的图片:

视图可以在2011年以不受支持的方式刷新,因此此代码在2013年可能无法工作,并且可能会因一些更新汇总而中断。
匿名函数必须位于功能区按钮引用的库中;视图上没有事件或Xrm对象。
我创建了一个新的隐藏功能区按钮(运行良好),该按钮有一个引用包含此函数的JavaScript库的操作;该函数不需要调用-它在加载库时运行

var秒=30;
/*  
*@param{int}unseconds:视图在几秒钟内刷新的频率
* */ 
(函数(unseconds){
var interval=setInterval(函数(){
document.getElementById(“crmGrid”).control.refresh();
},不稳定度*1000);
}(秒);
//不支持刷新网格的行
以支持的方式可以做的是刷新表单上的子网格;如果您可以让用户从表单而不是视图工作,则可以使用此支持的代码,并以类似于上面的方式或在onload事件中调用它:

Xrm.Page.ui.controls.get(“子网格名称”).refresh();

非常感谢。我可以从自定义按钮JS调用不受支持的方法,而不是在某个时段(不受支持的方式)刷新,以便只根据需要刷新吗?那应该有用,对吗?我需要在视图级别工作,因为用户通常需要对多个选定的记录应用相同的操作。按钮操作的缩放也同样有效。请说明不支持的代码在2013年试用后是否有效。您应该很快开始试用,并将进行更新。您能解释一下如何查找视图的Id(crmGrid)吗?我需要能够快速适应它的变化…我不知道,你可以使用浏览器的调试器来尝试找到它。在CRM中使用DOM是不可靠的,可能在将来的更新汇总中更改的不仅仅是名称。我知道如何在浏览器客户端中定位elementId,但它是Outlook客户端视图(在到达表单之前没有浏览器),因此不确定如何工作。