1/10用友股份-LE支持服务业务本部产品方案--《利用触发器实现NC暂估应付暂估税金》建立日期:2013-08-01修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-CP-2013-07112/10文档控制创建记录适用范围审阅人日期审阅签字所属部门发布范围内部员工伙伴客户发布人姓名所属部门发布时间日期作者所属部门邮件地址版本2013-08-01李金龙产品支持部V1.0版本领域模块备注3/10目录利用触发器实现NC暂估应付暂估税金.................................................................4一、需求描述:........................................................................................................4二、需求分析:........................................................................................................4三、方案实现:........................................................................................................51设置采购入库单暂估税金字段取采购订单税金字段.....................................52存货暂估入库单I2.............................................................................................63实现红字暂估税金的触发器:.........................................................................74会计平台配置:.................................................................................................75最终的凭证效果:.............................................................................................8四、本方案与系统功能比较....................................................................................94/10利用触发器实现NC暂估应付暂估税金NC5版本后,采购部分增加了暂估应付参数——入库单暂估时是否暂估应付,可以实现供应商往来暂估含税,完全体现企业的负债及供应商的往来等。但同时,设置了暂估应付单后,采购单据过多(增加了暂估应付单及红冲暂估应付单),操作较复杂。同时,暂估应付参数模式在NC502中对于期初暂估的暂估应付单无法解决——即期初暂估部分无法进行暂估应付及期初暂估应付的红冲,此问题在NC55中已经解决。一、需求描述:客户使用单到回冲暂估方式,采购暂估应付为含税金额,生成的凭证要包含暂估税金科目及含税的暂估应付往来。二、需求分析:此需求首先想到的是使用V5版本的暂估应付功能,但由于客户期初暂估数据量较大,如果使用暂估应付功能,对后续来票后回冲暂估应付的工作量将是个无底深渊!只好作罢。故而考虑其他方案,NC存货暂估入库单如果能够体现出暂估税金项目,便可以实现此功能,暂估入库可以通过数据交换配置在自定义项中记录完成,但红字回冲单中要体现反方向的暂估税金金额,这个NC无法配置完成。经过分析,红冲的入库单单据在数据库中有字段可以标识区分,所以在存货核算的子表ia_bill_b中设置触发器,自动生成反向的暂估税金字段。5/10三、方案实现:1设置采购入库单暂估税金字段取采购订单税金字段由于采购入库单只记录了存货的不含税单价、不含税金额,故首先要将含税单价、含税金额、税金等记录到采购入库单里面。1.1首先设置采购入库单自定义项:1.2流程配置-数据交换管理1.3设置采购入库单45单据模板:采购入库单实收数量编辑公式:vuserdef14->vuserdef13*ninnum;即含税金额=含税单价*实收数量vuserdef11->vuserdef13*ninnum-nmny计算出暂估税金金额6/10库存采购入库单格式2存货暂估入库单I2此暂估税金数值自动带入到存货核算的暂估入库单中:2.1采购入库单暂估后I2单据中体现暂估税金:2.2在采购结算后,系统自动生成红字回冲单,在此过程中利用触发器实现暂估税金字段的红冲,如图:2.3在采购结算后,系统自动生成的蓝字回冲单,如图:7/103实现红字暂估税金的触发器:createorreplaceTRIGGERTR_LJL_IABILLB_INSERT_caigouBEFOREinsertONIA_BILL_BFOREACHROWwhen(new.csourcebilltypecode='27'andnew.cbilltypecode='I2')--来源单据类型=27采购结算单,即为结算的红冲单及蓝冲单,单据类型为采购入库单declarea_zgchar(1);BEGINselectbestimateflagintoa_zgfromia_billwherecbillid=:new.cbillidanddr=0;--是否暂估bestimateflag,暂估标志为是的执行更新,即红字回冲单更新if(a_zg='Y')then:new.vdef11:=:new.vdef11*(-1);endif;END;注:触发器环境为Oracle10g4会计平台配置:4.1单据模板:8/10其中差异项目对应的会计科目为暂估税金科目设置公式:IIF(tostring(@暂估标志5@)="Y",tonumber(#表体用户自定义项110#),0)材料采购项目对应的会计科目为存货不含税金额+税金(即含税应付金额)设置公式:IIF(tostring(@暂估标志5@)="Y",tonumber(#表体用户自定义项110#)+#金额1#,#金额1#)5最终的凭证效果:5.1生成的暂估凭证为:5.2红冲暂估凭证为:9/105.3蓝冲凭证为:四、本方案与系统功能比较单到回冲暂估方式下,同样实现含税暂估应付、暂估税金功能本方案与系统功能比较:序号操作系统暂估应付本方案1库存采购入库单库存采购入库单2暂估存货暂估入库单暂估应付单存货暂估入库单——3结算红冲单红冲应付单蓝冲单红冲单——蓝冲单10/10应付单应付单可见,比系统少了两张单据,一张单据实现了系统两张单据的功能,简化了软件操作,客户非常满意:-)。后记:此文,考虑可能不尽周全,欢迎批评指正,仅作抛砖引玉,希望能够为大家实施提供一点帮助。