一键检测/修复库存更新标识异常单据工具(原创)原创
金蝶云社区-汉堡
汉堡
13人赞赏了该文章 1,850次浏览 未经作者许可,禁止转载编辑于2020年06月03日 22:34:08

 

 

库存更新标识异常,导致即时库存和库存报表对不上,属数据问题中的高频问题。最新版本的解决方案,是参考【库存管理】的库存云巡检服务,进行检测和提供修复建议。


云巡检只能检测当期的单据.png


但受限于云巡检只检测本期单据,历史单据只能对库存反关账后进行排查;且库存云巡检暂未提供一键修复功能。因此本文尝试提供一个新的解决思路,将检测和修复脚本封装成存储过程供以调用。


使用对象:

有一定数据库基础的IT管理员//服务商/技术支持/实施顾问。


使用环境:

SQL SERVER(ORACLE暂时不支持)


使用说明:

1 在查询分析器中执行附件中的脚本【Proc_STK_FlagCheck_V1.0.sql】,部署存储过程


2 通过前台查询或使用以下脚本查出【库存更新时点】,以备后续存储过程传入参数用。

SELECT  ISNULL(OOG.FNUMBER, 'ALL') 组织编码      
        , CASE WHEN SUBSTRING(( CONVERT(NVARCHAR(MAX), BSP.FPARAMETERS) ), 38, 1) = 1             
            THEN '保存时更新'             
            ELSE '审核时更新'        
        END AS 更新时点
FROM    T_BAS_SYSPARAMETER BSP
LEFT JOIN T_ORG_ORGANIZATIONS OOG ON OOG.FORGID = BSP.FORGID
WHERE   FPARAMETEROBJID = 'STK_StockParameter'


image.png


3 该存储过程共接受两个参数:

  • 第一个参数为@FSTATUS,若库存更新时点 = 审核时更新 则输入 '审核' 或 'Audit' (不区分大小写);若库存更新时点 = 保存时更新 则输入 '保存' 或 'Save' ;

  • 第二个参数为@HOWTOUSE,可选参数,若不输入,则执行 检测 功能;若输入 '更新' 或 'Update',则执行 检测并更新 功能

EXEC Proc_STK_FlagCheck 'Save' --保存时更新时点下的检测
EXEC Proc_STK_FlagCheck 'Save', 'Update' ----保存时更新时点下的检测及修复
EXEC Proc_STK_FlagCheck 'Audit' --审核时更新时点下的检测
EXEC Proc_STK_FlagCheck 'Audit', 'Update' ----审核时更新时点下的检测及修复


4 返回结果解释:

  • 如无检测/修复任何问题数据:


r1.png


  •  如检测出问题数据:则返回具体的单据信息以及组织信息,同时查询结果也记录至临时表 TM_STK_FlagCheck_Summary,该临时表的生命周期为本次执行后至下次执行前,可单独查询该表获取问题单据。


 

r22.png


  • 如检测并修复问题数据,则会修复的同时并返回修复的单据以及操作意见(本次共更新如下单据,须对上述组织分别反关账至【上次关账日期】,进行即时库存校对,然后再关账回去;注:库存反关账/关账功能为独立于存货反关账/关账,即不受其他模块约束,可以单独进行反关账/校对/关账)


r3.png


待改进事项

  • 有少部分特殊场景未考虑在内,已知的有:采购退料单中的检验退料,二开库存单据的设置的前提过滤条件;如存在以上业务,可能会存在误判

  • 欢迎大家在本文下方留言反馈,将会持续更新维护该工具

  • (6.3 更新)V1.1版本:添加【物料编码】字段、修复部分场景下列名无效的BUG


图标赞 13
13人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!