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

 

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

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

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

 

我接觸到處理方法:

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

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

 

下邊我以報(bào)銷申請(qǐng)為例介紹一種官方支持的方式:

 

實(shí)現(xiàn)思路:

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

 

首先,我們先看下申請(qǐng)頁(yè)面處理后的效果,圖中 報(bào)銷申請(qǐng):案例 = 1:N

&nb