【发布时间】:2016-09-21 09:38:12
【问题描述】:
我的功能区上有一个自定义按钮,可以启动一个对话框。这是我正在整合的解决方法资格解决方案的一部分。
帐户/联系人/机会的创建和给定的选择工作正常,以及将潜在客户的状态更改为合格。问题是当用户完成对话框并关闭它时,他们仍然在查看原始状态的潜在客户。
如何强制刷新表单以显示其新状态?
我在网上看到了一个 Javascript 解决方案 (codeplex),Process.js - callDialog() 似乎很流行,但它不想像创建者在我的 CRM 版本上描述的那样工作 - 总是得到一个无效的 URL 错误消息并在加载表单以及使用自定义按钮时触发。
有没有人遇到过这样的需求,您是如何解决的?
谢谢
编辑:这是我目前在功能区按钮上使用的 JS。我在哪里放置我的刷新调用以及关闭对话框时我应该调用什么/如何调用正在使用的事件。 我尝试在此代码的底部添加一个刷新调用,但它是在开始时打开对话框时调用的,这并没有多大用处,因为我想看到的更改应用于整个对话框本身。 谢谢
Develop1_RibbonCommands_runDialogForm = function(objectTypeCode, dialogId) {
var primaryEntityId = Xrm.Page.data.entity.getId();
var rundialog = Mscrm.CrmUri.create('/cs/dialog/rundialog.aspx');
rundialog.get_query()['DialogId'] = dialogId;
rundialog.get_query()['ObjectId'] = primaryEntityId;
rundialog.get_query()['EntityName'] = objectTypeCode;
var hostWindow = window;
if (typeof(openStdWin) == 'undefined') {
hostWindow = window.parent; // Support for Turbo-forms in CRM2015 Update 1
}
if (typeof(hostWindow.openStdWin) != 'undefined') {
hostWindow.openStdDlgWithCallback(rundialog, hostWindow.buildWinName(null), 615, 480, Xrm.Page.data.refresh(false));
}
}
})();
【问题讨论】:
-
嗨,alex,您可以为功能区按钮编写 javascript。您只需要使用 javascript 运行对话框并使用以下代码刷新表单
Xrm.Utility.openEntityForm(Xrm.Page.data.entity.getEntityName(), Xrm.Page.data.entity.getId());
标签: javascript dynamics-crm crm microsoft-dynamics