我们的设置是Outlook 2010 + CRM插件连接到2013在线实例。
我在主网格功能区上有一些自定义功能区按钮,用于操作选定的引线。在某些操作之后,我想告诉Outlook刷新当前视图,因为操作已更新选定的潜在客户,因此它们不应再显示在当前视图中。
目前,我必须向用户解释视图按其自己的时间表更新,如果他们希望立即发生,他们必须手动刷新视图(“视图”选项卡/“刷新”按钮)。毫不奇怪,我对此抱怨很多!
This似乎表明有一种方法可以以编程方式刷新视图,但我不了解如何使其工作的细节。
Here是关于手动刷新的图片的一些信息。
这是我需要使用自定义按钮JS刷新的Outlook视图的图片:
答案 0 :(得分:2)
该视图可以在2011年以不受支持的方式刷新,因此此代码可能在2013年不起作用,并且可能会因某些更新汇总而中断。 匿名函数必须位于由功能区按钮引用的库中;视图中没有事件或Xrm对象 我创建了一个新的隐藏功能区按钮(Ribbon Workbench效果很好),该按钮具有引用包含此功能的JavaScript库的操作;该函数不需要调用 - 它在加载库时运行。
var seconds = 30;
/*
* @param {int} inSeconds: how often the view should refresh in seconds
* */
(function (inSeconds) {
var interval = setInterval(function () {
document.getElementById("crmGrid").control.refresh();
}, inSeconds * 1000);
}(seconds));
// The line to refresh the grid is not supported
以支持的方式可以做的是刷新表单上的子网格;如果您可以让用户从表单而不是视图中工作,您可以使用此支持的代码并以上述方式调用它,或者更确切地说是onload事件:
Xrm.Page.ui.controls.get("sub_grid_name").refresh();