2016-09-21 75 views
1

我在我的功能區上有一個自定義按鈕,可以啓動對話框。這是我將放在一起的解決方案資格認證解決方案的一部分。Dynamics CRM 2016在線 - 使用對話框後刷新記錄

創建帳戶/聯繫人/機會和給出的選擇正常工作,以及將潛在客戶的狀態更改爲合格。問題是,當用戶完成對話並關閉它時,他們仍然在查看處於其原始狀態的Lead。

如何強制窗體刷新以顯示其新狀態?

我已經看到一個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)); 
 
     } 
 
} 
 
})();

+1

嗨alex,你可以寫爲功能區按鈕的JavaScript。你只需要使用javascript運行對話框並使用下面的代碼來刷新表單'Xrm.Utility.openEntityForm(Xrm.Page.data.entity.getEntityName(),Xrm.Page.data.entity.getId());' – Nachiket

回答

1

退房的Xrm.Page.data (client-side reference),你要打電話Xrm.Page.data.refresh()

根據您啓動對話框的方式,並假設您的對話框是託管在CRM中的Web資源,對話框可以恢復爲其啓動的窗體並調用刷新,或者可能使用回調。

EDIT(根據您發佈的代碼):如果函數openStdDlgWithCallback的第5個參數是當對話框關閉你要傳遞的功能像Xrm.Page.data.refresh或包裹你的電話的功能function(){Xrm.Page.data.refresh()}回調。目前您的代碼正在執行該功能,這就是您馬上看到刷新的原因。

+0

感謝馬特,我已經將我的JS添加到了原始文章中 - 請幫助您解決您的建議。 – alex13p

+0

我根據你的代碼更新了我的答案 –

+0

早上第一件事就是試試這個,並報告回來。謝謝! – alex13p

0

使用openStdDlgWithCallback您可以訂閱對話框關閉後運行的回調函數。您可以在回調函數中使用Xrm.Page.data.refresh()

+0

這看起來確實會刷新,但它在對話框打開之前觸發。如果我更改了一個字段,然後點擊了自定義按鈕,它會詢問我是否想先保存更改 - 如果單擊確定繼續,則會刷新表單(恢復我的更改),然後打開對話框。我需要這個以相反的順序發生! – alex13p

+0

用更新的代碼更新您的文章。 – dynamicallyCRM

+0

確定完成了,同時還解決了如何正確添加代碼到這裏的帖子! – alex13p

相關問題