前段時間微軟發(fā)布了Dynamics 365,這是Dynamics產(chǎn)品的又一次大的變動,期待新的版本能夠更好的滿足客戶的需求,同時提供更多的可定制化的內(nèi)容。

 

近期做Dynamics CRM項目遇到很多審批的業(yè)務(wù),用戶A提交審批給用戶B,這時如果審批記錄沒有做分派即審批記錄的負(fù)責(zé)人沒有發(fā)生改變,通常情況下都會把審批記錄對申請人不可編輯。

常見的做法是:依據(jù)記錄的審批狀態(tài),在記錄頁面加載時使用JS方法,遍歷停用頁面上的所有控件。

但會遇到一個問題,子網(wǎng)格是無法停用的,子網(wǎng)格右上角的”+”仍然可以點擊,仍然可以在子網(wǎng)格中直接刪除關(guān)聯(lián)記錄,該如何處理呢?

 

我接觸到處理方法:

1、  在頁面加載完成后,使用JS方法隱藏”+”對應(yīng)的div。(這不是官方支持的方法,而且如果系統(tǒng)升級,隨時可能失效)。

2、  對子網(wǎng)格實體添加插件,當(dāng)用戶編輯子網(wǎng)格數(shù)據(jù)的時候,通過插件去做檢驗,拋異常告訴用戶該子網(wǎng)格不可編輯。(這種方式用戶體驗度不是很好,并且增加了開發(fā)人員的工作量)。

 

下邊我以報銷申請為例介紹一種官方支持的方式:

 

實現(xiàn)思路:

為 ”+” 按鈕添加JS可用規(guī)則,當(dāng)審批條件不是草稿時不顯示。

 

首先,我們先看下申請頁面處理后的效果,圖中 報銷申請:案例 = 1:N

&nb