雖然SAP Business One 提供了強(qiáng)大的存儲(chǔ)過程控制能力,但在實(shí)際測試中發(fā)現(xiàn),存儲(chǔ)過程無法在單據(jù)打印操作中自動(dòng)觸發(fā)。為滿足客戶的迫切需求,我們決定采用觸發(fā)器來實(shí)現(xiàn)相關(guān)功能。需要說明的是,使用觸發(fā)器可能在系統(tǒng)升級時(shí)引發(fā)錯(cuò)誤,因此建議在升級前暫時(shí)刪除相關(guān)觸發(fā)器,待升級完成后再行恢復(fù)。
系統(tǒng)配置步驟如下:
1. 添加自定義字段
在相應(yīng)單據(jù)表中創(chuàng)建自定義字段 U_PrintNum,用于記錄“打印次數(shù)”。
2. 配置用戶界面模板
利用 SAP Business One 9.1 版本及以上提供的“用戶界面模板”功能,將“打印次數(shù)”字段添加至目標(biāo)單據(jù)界面中,并將其屬性設(shè)置為“只讀”,以防止用戶手動(dòng)修改打印次數(shù)。
3. 創(chuàng)建觸發(fā)器
編寫并部署數(shù)據(jù)庫觸發(fā)器,使其在打印相關(guān)事件發(fā)生時(shí)自動(dòng)更新 U_PrintNum 字段的值,從而實(shí)現(xiàn)打印次數(shù)的自動(dòng)累加。
CREATE TRIGGER ORDR_COMF_NUM ON ORDR /*向ORDR表添加觸發(fā)器,如需向其他單據(jù)添加“打印次數(shù)顯示”功能請修改ORDR至對應(yīng)的表名即可。/ AFTER UPDATE AS BEGIN /*本觸發(fā)器用于記錄銷售訂單打印次數(shù), 要使用此功能需先添加自定義字段“U_PrintNum”用來記錄單據(jù)打印次數(shù) 當(dāng)[Printed]的值更新為“Y”時(shí) 更新銷售訂單上自定義字段“打印次數(shù)”加一, [Printed]的值設(shè)置為“N” */ IF UPDATE([Printed]) /*如果更新的是Printed字段*/ BEGIN UPDATE T0 SET T0.U_PrintNum = ISNULL(T0.U_PrintNum, 0) + 1 , T0.Printed = 'N' FROM ORDR T0 WHERE T0.DocEntry = ( SELECT DocEntry FROM Inserted /*Inserted 表是SQL內(nèi)部表用于存儲(chǔ)INSERT和UPDATE語句所影響的行的副本。*/ ) END END
4. 最終打印效果說明
本打印模板基于 SAP Business One 系統(tǒng)進(jìn)行設(shè)計(jì)與配置,確保打印輸出格式規(guī)范、內(nèi)容完整,滿足企業(yè)單據(jù)打印的標(biāo)準(zhǔn)化要求。
關(guān)于 SAP 服務(wù)廠商 — 上海工博云署
上海工博云署信息技術(shù)有限公司(簡稱“上海工博云署”)是 SAP 官方授權(quán)的正規(guī)代理商,在全國設(shè)有多達(dá) 40 余家伙伴機(jī)構(gòu),現(xiàn)已成為 SAP 中國區(qū)重要的合作伙伴與認(rèn)證咨詢服務(wù)提供商。
在 SAP Business One 產(chǎn)品平臺上,上海工博云署積累了豐富的行業(yè)實(shí)踐經(jīng)驗(yàn),開發(fā)并集成了多項(xiàng)增強(qiáng)型功能模塊,涵蓋以下業(yè)務(wù)領(lǐng)域:
集團(tuán)財(cái)務(wù)管理
生產(chǎn)管理
立體倉庫管理
質(zhì)量管理
項(xiàng)目管理
薪酬管理
電子商務(wù)