ylyan 发表于 2013-1-23 14:20:04

U9脚本调整-更新出货单单据类型

本帖最后由 stonys 于 2023-6-1 22:08 编辑

在平时ERP工作中,偶尔会遇到用户单据出错,而这些单据往往都是有上下游关系的单据,用户修改起来非常麻烦,月底又急着结账,往往这个时候会帮用户想一些简单的方法来解决,简单的方法无非就是调整脚本。当然了不到必不得以,不做脚本调整。
不过反到是在ERP上线的时候,可能有一些参数设置没有设置,然后做了好多单据了,才发现了问题,这个时候要是调整了参数,对之前的单据都不起作用,必段把之前做的单子全部删除了重做才会有作用,这个时候往往是调整脚本最多的情况。下面介绍一个实际情况遇到的例子!
特别注意:脚本操作有风险,必须在测试库中进行测试后,方可正式执行
业务场景:ERP上线时,出货单单据类型中的参数,立账方式没有设置成“凭单制”,导致在做应收单的时候来源单据拉不到出货单,应收单(开票)正常都是在月底才做的,所以月中做出货单的时候发现不了问题,等到月末开票的时候才发现问题所在。出货单单据类型使用后将不能修改立账方式,必须得重新增加单据类型,重新增加单据类型,之前的出货单都要重新做,此时已经做了一个月的出货单了,要是删除重新做那工作量非常了得。这种情况下,想到一个调整脚本的方式,经过测试有用!
/*业务模块:SM_销售出货单脚本功能:出货单单据类型使用后不能更换,由于单据类型有部分设置使用后不能修改,因此后续部分业务不能正常操作。使用方法:(见下代码处明细)创建日期:2012-12-1修改记录:   */

--1、在出货单中做一张新的出货单,使用新的单据类型,目的是得到使用了新的出货单的单据类型的ID。
--2、查询单据类型信息selectA. as ,dbo.F_GetEnumName('UFIDA.U9.SM.Ship.ShipSrcDocTypeEnum',A.,'zh-CN')as , A.,A1. as , A1.as fromSM_Ship as Aleft join as A1 on (A. = A1.)left join as A2 on (A. = A2.) where((A2. = '54') and(dbo.F_GetEnumName('UFIDA.U9.SM.Ship.ShipSrcDocTypeEnum',A.,'zh-CN')= '手工创建'))
--3、将上述查询需要修改的出货单单据号,复制到下在的SM_Ship.DocNo中,并且,将单据类型SM_Ship.DocumentType填写成最新的出货单单据类型的IDupdate SM_Ship setSM_Ship.DocumentType='1001403155380468' where SM_Ship.DocNo='SM542012110076'

qtz214 发表于 2023-6-1 10:56:41

学习当中

花味摆渡 发表于 2024-3-30 11:08:17

观望观望观望观望观望观望观望观望观望观望观望观望观望观望
页: [1]
查看完整版本: U9脚本调整-更新出货单单据类型