雖然SAP Business One有強(qiáng)大的存儲(chǔ)過(guò)程控制功能,但經(jīng)測(cè)試在單據(jù)打印時(shí)是無(wú)法觸發(fā)存儲(chǔ)過(guò)程的,由于客戶(hù)強(qiáng)烈要求無(wú)奈之下用了觸發(fā)器來(lái)完成該功能(據(jù)說(shuō)添加觸發(fā)器在升級(jí)系統(tǒng)時(shí)會(huì)報(bào)錯(cuò),所以升級(jí)時(shí)可能需要將觸發(fā)器刪掉)。
系統(tǒng)配置
1、添加自定義字段:U_PrintNum 打印次數(shù);
2、添加用戶(hù)界面模板(9.1以后新功能)將“打印次數(shù)”移至單據(jù)中并將其設(shè)置為不可編輯(以防用戶(hù)手動(dòng)修改打印次數(shù)的值);
添加觸發(fā)器
CREATE TRIGGER ORDR_COMF_NUM ON ORDR /*向ORDR表添加觸發(fā)器,如需向其他單據(jù)添加“打印次數(shù)顯示”功能請(qǐng)修改ORDR至對(duì)應(yīng)的表名即可。/
AFTER UPDATE
AS
BEGIN
/*本觸發(fā)器用于記錄銷(xiāo)售訂單打印次數(shù),
要使用此功能需先添加自定義字段“U_PrintNum”用來(lái)記錄單據(jù)打印次數(shù)
當(dāng)[Printed]的值更新為“Y”時(shí)
更新銷(xiāo)售訂單上自定義字段“打印次數(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語(yǔ)句所影響的行的副本。*/
)
END
END
最終打印顯示效果
SAP廠商上海達(dá)策
上海達(dá)策信息技術(shù)有限公司(簡(jiǎn)稱(chēng)上海達(dá)策)作為SAP亞太區(qū)的服務(wù)體系伙伴,在全國(guó)有40多家分支機(jī)構(gòu),已成為SAP中國(guó)區(qū)的咨詢(xún)服務(wù)公司。
在SAP Business One產(chǎn)品平臺(tái)上面,上海達(dá)策形成了眾多的增強(qiáng)功能,包括集團(tuán)財(cái)務(wù)管理、生產(chǎn)管理、立體倉(cāng)庫(kù)管理、質(zhì)量管理、項(xiàng)目管理、薪酬管理、電子商務(wù)等等。發(fā)展至今,上海達(dá)策已成為SAP Business One眾多服務(wù)體系伙伴中居于位置的ERP系統(tǒng)供應(yīng)商。