• SAP Business One 打印管理升级:关键业务单据打印全程可溯源

    2019.09.09

    分享:

虽然SAP Business One 提供了强大的存储过程控制能力,但在实际测试中发现,存储过程无法在单据打印操作中自动触发。为满足客户的迫切需求,我们决定采用触发器来实现相关功能。需要说明的是,使用触发器可能在系统升级时引发错误,因此建议在升级前暂时删除相关触发器,待升级完成后再行恢复。

系统配置步骤如下:

1. 添加自定义字段

在相应单据表中创建自定义字段 U_PrintNum,用于记录“打印次数”。

2. 配置用户界面模板

利用 SAP Business One 9.1 版本及以上提供的“用户界面模板”功能,将“打印次数”字段添加至目标单据界面中,并将其属性设置为“只读”,以防止用户手动修改打印次数。

3. 创建触发器

编写并部署数据库触发器,使其在打印相关事件发生时自动更新 U_PrintNum 字段的值,从而实现打印次数的自动累加。

 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


4. 最终打印效果说明

本打印模板基于 SAP Business One 系统进行设计与配置,确保打印输出格式规范、内容完整,满足企业单据打印的标准化要求。

关于 SAP 服务厂商 — 上海工博云署

上海工博云署信息技术有限公司(简称“上海工博云署”)是 SAP 官方授权的正规代理商,在全国设有多达 40 余家伙伴机构,现已成为 SAP 中国区重要的合作伙伴与认证咨询服务提供商。

在 SAP Business One 产品平台上,上海工博云署积累了丰富的行业实践经验,开发并集成了多项增强型功能模块,涵盖以下业务领域:

  • 集团财务管理

  • 生产管理

  • 立体仓库管理

  • 质量管理

  • 项目管理

  • 薪酬管理

  • 电子商务

我们非常重视您的个人隐私,当您访问我们的网站时,请同时使用所有的cookie。有关个人数据的更多信息可访问 《隐私条款》

好的,我接受