虽然SAP Business One有强大的存储过程控制功能,但经测试在单据打印时是无法触发存储过程的,由于客户强烈要求无奈之下用了触发器来完成该功能(据说添加触发器在升级系统时会报错,所以升级时可能需要将触发器删掉)。
系统配置
1、添加自定义字段:U_PrintNum 打印次数;
2、添加用户界面模板(9.1以后新功能)将“打印次数”移至单据中并将其设置为不可编辑(以防用户手动修改打印次数的值);
添加触发器
CREATE TRIGGER ORDR_COMF_NUM ON ORDR /*向ORDR表添加触发器,如需向其他单据添加“打印次数显示”功能请修改ORDR至对应的表名即可。/ AFTER UPDATE AS BEGIN /*本触发器用于记录销售订单打印次数, 要使用此功能需先添加自定义字段“U_PrintNum”用来记录单据打印次数 当[Printed]的值更新为“Y”时 更新销售订单上自定义字段“打印次数”加一, [Printed]的值设置为“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内部表用于存储INSERT和UPDATE语句所影响的行的副本。*/ ) END END
最终打印显示效果
SAP Business One打印设置,SAP系统打印设置,SAP系统单据打印,SAP厂商
SAP厂商上海达策
上海达策信息技术有限公司(简称上海达策)作为SAP亚太区的金牌代理商,在全国有40多家分支机构,已成为SAP中国区的咨询服务公司。
在SAP Business One产品平台上面,上海达策形成了众多的增强功能,包括集团财务管理、生产管理、立体仓库管理、质量管理、项目管理、薪酬管理、电子商务等等。