客戶(hù)想實(shí)現(xiàn)一個(gè)單據(jù)的作廢功能,如采購(gòu)員A在
CRM系統(tǒng)錄入了一張采購(gòu)訂單,并且單據(jù)已經(jīng)通過(guò)了審批,已經(jīng)生效了,效果是單據(jù)的審批狀態(tài)已經(jīng)變?yōu)椤皩徟ㄟ^(guò)”,并且單據(jù)及其明細(xì)已經(jīng)鎖定,不允許再進(jìn)行編輯,并生成了一張采購(gòu)入庫(kù)單和應(yīng)付賬款。但現(xiàn)在因供應(yīng)商供貨出現(xiàn)問(wèn)題,所以這張單據(jù)就應(yīng)該作廢。
解決方案
通過(guò)分析決定用單據(jù)的紅沖功能來(lái)實(shí)現(xiàn)這個(gè)單據(jù)作廢功能,這里就拿采購(gòu)訂單為例。
紅沖操作實(shí)現(xiàn)的功能:
如果采購(gòu)訂單的狀態(tài)為“制作中”或“已提交”,不允許紅沖;
如果采購(gòu)訂單已經(jīng)出現(xiàn)入庫(kù)或付款操作時(shí)不允許進(jìn)行紅沖;
當(dāng)紅沖時(shí)把原來(lái)采購(gòu)訂單的狀態(tài)更新為“已紅沖”,同時(shí)生成一張紅沖單,這張紅沖單大部分?jǐn)?shù)據(jù)和采購(gòu)訂單相同,只有狀態(tài)為“紅沖單”,數(shù)量、金額為負(fù)值,這樣就把原來(lái)采購(gòu)訂單的數(shù)量和金額給沖掉了;
采購(gòu)訂單紅沖之后同時(shí)把生成的應(yīng)付賬款和采購(gòu)入庫(kù)單刪除;
解決方案的具體實(shí)現(xiàn)
首先,完成一個(gè)自定義頁(yè)面,頁(yè)面代碼的功能就是實(shí)現(xiàn)紅沖的所有操作和條件判斷,并上傳到系統(tǒng)。
其次,在采購(gòu)訂單選項(xiàng)卡的詳細(xì)頁(yè)面做一個(gè)“紅沖”按鈕,當(dāng)采購(gòu)訂單需要作廢時(shí),只要進(jìn)入相應(yīng)的單據(jù)點(diǎn)擊這個(gè)按鈕,就可以出發(fā)相關(guān)的紅沖操作來(lái)作廢這張單據(jù)。
操作界面如下圖:

當(dāng)點(diǎn)擊“紅沖”時(shí),彈出紅沖確認(rèn)界面如下圖:

當(dāng)選擇確定時(shí),系統(tǒng)就會(huì)進(jìn)行紅沖操作,并返回操作結(jié)果。

狀態(tài)改變:

采購(gòu)入庫(kù)單和應(yīng)付賬款已經(jīng)刪除:

紅沖單已經(jīng)生成: