LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]金蝶KIS旗舰版物料禁用时怎么同步反使用BOM并注明物料使用状态

admin
2024年12月20日 11:50 本文热度 338
      前不久有KIS旗舰版的客户反馈给我,他们在禁用物料时在BOM维护界面不能直观的看到是什么原因反使用BOM,每次都需要去物料信息查看物料状态才弄清楚是物料禁用了。问我有没有快捷的办法不用这么麻烦。

      经过一番研究以后顺利实现这个客户的需求,现将解决分享一下:
      1、打开【客户端工具包】-【辅助工具】-【单据自定义】,使用具有操作权限的用户登录后打开BOM。

2、在BOM中增加【单据头字段】,将其名称修改为“物料使用状态”,同时指定默认值为“使用”。

此外,为防止误操作,可将该字段设置为在单据录入和修改时不可见。

3、在SSMS控制台修改t_ICItem视图中的触发器

增加以下代码:

BEGIN

-- 根据 inserted 表中 fdeleted 的值更新 icbom 表的相关字段

UPDATE icbom

SET

FHeadSelfZ0134 = CASE

WHEN i.fdeleted = 1 THEN '禁用'

ELSE '使用'

END,

FUseStatus     = CASE

WHEN i.fdeleted = 1 THEN 1073

ELSE icbom.FUseStatus -- 保持原值不变

END

FROM icbom

INNER JOIN inserted i ON icbom.fitemid = i.fitemid;

END;

终实现的效果如下:

物料禁用前BOM状态为使用,物料使用状态为“使用”

物料禁用后BOM状态为未使用,物料使用状态为“禁用”

在t_ICItem修改触发器控制的后期物料的禁用和反禁用同步更新BOM表头的“物料使用状态”,历史数据还需要用SQL语句更新一下,附上语句:

UPDATE icbom

SET FHeadSelfZ0134 = '禁用',FUseStatus=1073

FROM icbom a

INNER JOIN t_ICItem b ON a.fitemid = b.fitemid

WHERE b.fdeleted = 1;

UPDATE icbom

SET FHeadSelfZ0134 = '使用'

FROM icbom a

INNER JOIN t_ICItem b ON a.fitemid = b.fitemid

WHERE b.fdeleted = 0;

      通过这样的修改,当对物料进行禁用和反禁用操作时,即使该字段在单据录入时不可见,但在数据库层面的相关逻辑能够根据这个字段值的变化而执行相应的操作。例如在上述代码中,当物料被禁用或者反禁用时,相关联表中的状态也会相应更新,从而实现整个业务流程中数据的一致性和完整性。并且由于在BOM中对字段的设置,也避免了用户在单据录入时的误操作,保证了数据的准确性。


该文章在 2024/12/20 11:51:17 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved