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

當點擊“紅沖”時,彈出紅沖確認界面如下圖:

當選擇確定時,系統就會進行紅沖操作,并返回操作結果。

狀態改變:

采購入庫單和應付賬款已經刪除:

紅沖單已經生成: