马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
本帖最后由 stonys 于 2023-6-1 22:08 编辑
在平时ERP工作中,偶尔会遇到用户单据出错,而这些单据往往都是有上下游关系的单据,用户修改起来非常麻烦,月底又急着结账,往往这个时候会帮用户想一些简单的方法来解决,简单的方法无非就是调整脚本。当然了不到必不得以,不做脚本调整。
不过反到是在ERP上线的时候,可能有一些参数设置没有设置,然后做了好多单据了,才发现了问题,这个时候要是调整了参数,对之前的单据都不起作用,必段把之前做的单子全部删除了重做才会有作用,这个时候往往是调整脚本最多的情况。下面介绍一个实际情况遇到的例子!
特别注意:脚本操作有风险,必须在测试库中进行测试后,方可正式执行
业务场景: ERP上线时,出货单单据类型中的参数,立账方式没有设置成“凭单制”,导致在做应收单的时候来源单据拉不到出货单,应收单(开票)正常都是在月底才做的,所以月中做出货单的时候发现不了问题,等到月末开票的时候才发现问题所在。出货单单据类型使用后将不能修改立账方式,必须得重新增加单据类型,重新增加单据类型,之前的出货单都要重新做,此时已经做了一个月的出货单了,要是删除重新做那工作量非常了得。 这种情况下,想到一个调整脚本的方式,经过测试有用!
/* 业务模块:SM_销售出货单 脚本功能:出货单单据类型使用后不能更换,由于单据类型有部分设置使用后不能修改,因此后续部分业务不能正常操作。 使用方法:(见下代码处明细) 创建日期:2012-12-1 修改记录: */
--1、在出货单中做一张新的出货单,使用新的单据类型,目的是得到使用了新的出货单的单据类型的ID。
--2、查询单据类型信息 select A.[DocNo] as [A_DocNo],dbo.F_GetEnumName('UFIDA.U9.SM.Ship.ShipSrcDocTypeEnum',A.[SrcDocType],'zh-CN')as [A_SrcDocType], A.[DocumentType],A1.[ID] as [A_DocumentType_ID], A1.[Code]as [A_DocumentType_Code] from SM_Ship as A left join[SM_ShipDocType] as A1 on (A.[DocumentType] = A1.[ID]) left join [Base_Organization]as A2 on (A.[Org] = A2.[ID]) where ((A2.[Code] = '54') and(dbo.F_GetEnumName('UFIDA.U9.SM.Ship.ShipSrcDocTypeEnum',A.[SrcDocType],'zh-CN')= '手工创建'))
--3、将上述查询需要修改的出货单单据号,复制到下在的SM_Ship.DocNo中,并且,将单据类型SM_Ship.DocumentType填写成最新的出货单单据类型的ID update SM_Ship setSM_Ship.DocumentType='1001403155380468' where SM_Ship.DocNo='SM542012110076'
|