[易飛]觸發器方案解決錄入發票作業不允許重複錄入稅務發票號碼

標準檢測:稅務發票號碼+發票單別+發票單號

錄入發票和費用發票作業程序中,ACRTQ
稅務發票號碼+發票單別+發票單號 是主鍵即錄入採購發票(費用發票或者銷售發票)時,不允許重複錄入。系統本身會做檢測。
在這裏插入圖片描述

不同發票單別+單號,卻允許錄入相同稅務發票

但是確存在允許不同採購發票時,允許重複,財務端可能存在重複付款的可能性(雖然這種可能性比較低)

個案

    易飛是閉源系統,無法通過編碼方式直接修改。考慮到未來不久即將更換系統,故此方案放棄!

觸發器

  邏輯相對簡單,若能通過觸發器反饋異常信息並提示給前端,查詢相關資料決定raiserrror符號來交互信息。

觸發器方案:

ALTER trigger T_NO_Repeate
ON ACRTQ
FOR INSERT,UPDATE
AS
DECLARE @msg VARCHAR(50), @Num VARCHAR(50), @INVOICENO VARCHAR(20)
SELECT @Num=RTRIM(TQ001) FROM inserted 
SELECT @INVOICENO=TQ002+'-'+RTRIM(TQ003)  FROM ACRTQ WHERE TQ001=@Num AND TQ005='N'
IF EXISTS(SELECT * FROM ACRTQ WHERE TQ001=@Num AND TQ005='N')
BEGIN
 SET @msg='歷史記錄表【'+@INVOICENO+'】中存在稅務此發票號碼';
 --拋出自定義錯誤信息
 raiserror('稅務%s[%s]存在異常,%s',16,1,'發票號碼',@Num,@msg)

END

測試效果:
在這裏插入圖片描述
在這裏插入圖片描述
3.raiserrror符號
在這裏插入圖片描述
請參考網址:
關於raiserrror詳細介紹

發佈了921 篇原創文章 · 獲贊 380 · 訪問量 326萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章