解决外购物料在采购入库前发生单位变更,入库后无法正常出库

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

解决外购物料在采购入库前发生单位变更,入库后无法正常出库

使用中,反馈物料出库有异常,曾经改过物料单位, 经查询物料之前单位是"个",后面修改成"条",查询即时库存单位显示为"个";

此时如果可以直接修改物料单位,改回为"个",再出库,到简单省事,但系统有控制,修改物料时提示已有业务单据,不需更改;

后查看官方文章解决如下:


物料修改基本单位保存提示:‘物料已存在业务单据【采购订单】,不能修改基本单位 ’

https://wenku.my7c.com/link/s/l7uWX

参考官方文章后,尝试删除业务单据,但发现只能删除到采购入库环节,采购订单上面N多物料且已有下游单据,造成采购订单和采购申请单两张单据需要后台修改一下单位;

可能会有多种方法,此方法仅供参考,欢迎反馈其他解决方法,谢谢;


1> 修改采购申请单单位为新单位;

2> 修改采购订单单位为新单位;

3> 修改即时库存表中的单位为新单位;(即时库存没有数量,但曾经入库过,系统即时库存有数量为0的一条记录)



--查找计量单位表,获取计量单位内码

SELECT t9.FNAME, * FROM dbo.T_BD_UNIT t8 LEFT JOIN  t_BD_Unit_L t9  ON t9.FUNITID = t8.FUNITID



--修改采购申请单指定物料计价单位

       --100155    条

   --计量单位 FUNITID

   --基本单位 FBASEUNITID

   --计价单位 FPRICEUNITID

    --销售单位  FSALUNITID

--库存单位 FREQSTOCKUNITID

SELECT t1.fid,  t1.FBILLNO,t2.FUNITID,t2.FBASEUNITID, t2.FPRICEUNITID,t2.FSALUNITID,t2.FREQSTOCKUNITID, w01.FNUMBER,w02.FNAME,w02.FSPECIFICATION ,t8.FUNITID,t9.FNAME  

-- UPDATE t2 SET t2.FUNITID='100155',t2.FBASEUNITID='100155', t2.FPRICEUNITID='100155',t2.FSALUNITID='100155',t2.FREQSTOCKUNITID='100155'

FROM T_PUR_REQUISITION t1 LEFT JOIN T_PUR_REQENTRY t2 ON t2.FID = t1.FID

                                                               LEFT JOIN dbo.T_BD_MATERIAL W01 ON W01.FMATERIALID =t2.FMATERIALID  --连接物料表

   LEFT JOIN dbo.T_BD_MATERIAL_L W02 ON W02.FMATERIALID=W01.FMATERIALID --连接物料多语言表

   LEFT JOIN dbo.T_BD_MATERIALBASE  W03 ON W03.FMATERIALID=W02.FMATERIALID  --关联物料基本表

   LEFT JOIN T_BD_UNIT t8 ON t8.FUNITID=t2.FUNITID   --计量单位

   LEFT JOIN dbo.T_BD_UNIT_L t9 ON t9.FUNITID = t8.FUNITID


WHERE t1.FBILLNO='CGSQ20230500225' AND w01.FNUMBER='507710900'




--修改采购订单指定物料计价单位

          --基本单位内码  FBASEUNITID

  --销售单位  FSALUNITID

-- 库存单位 FSTOCKUNITID

-- 计价单位内码 FPRICEUNITID    T_PUR_POORDERENTRY_F(采购订单明细_财务信息)

-- 定价单位 FSETPRICEUNITID       T_PUR_POORDERENTRY_F(采购订单明细_财务信息)

SELECT t1.fid,  t1.FBILLNO,t2.FUNITID,t2.FBASEUNITID, t2.FSALUNITID,t2.FSTOCKUNITID,t3.FPRICEUNITID,t3.FSETPRICEUNITID, w01.FNUMBER,w02.FNAME,w02.FSPECIFICATION ,t8.FUNITID,t9.FNAME  

--UPDATE t3 SET  t3.FPRICEUNITID='100155'

--UPDATE t2 SET t2.FUNITID='100155',t2.FBASEUNITID='100155', t2.FSTOCKUNITID='100155'

FROM T_PUR_POORDER t1 LEFT JOIN T_PUR_POORDERENTRY t2 ON t2.FID = t1.FID

LEFT JOIN T_PUR_POORDERENTRY_F t3 ON t3.FENTRYID = t2.FENTRYID AND t3.FID = t2.FID

                                                               LEFT JOIN dbo.T_BD_MATERIAL W01 ON W01.FMATERIALID =t2.FMATERIALID  --连接物料表

   LEFT JOIN dbo.T_BD_MATERIAL_L W02 ON W02.FMATERIALID=W01.FMATERIALID --连接物料多语言表

   LEFT JOIN dbo.T_BD_MATERIALBASE  W03 ON W03.FMATERIALID=W02.FMATERIALID  --关联物料基本表

   LEFT JOIN T_BD_UNIT t8 ON t8.FUNITID=t2.FUNITID   --计量单位

   LEFT JOIN dbo.T_BD_UNIT_L t9 ON t9.FUNITID = t8.FUNITID


WHERE t1.FBILLNO='CGDD20230500175' AND w01.FNUMBER='507710900'


--修改即时库存中的单位, 星空曾经入过库的物料,就算已经全部出库,在即时库存表中依然有一行数量为零的记录

SELECT 

RK1.FSTOCKID,                      --仓库内码

CK1.FNUMBER,

ck2.FNAME AS CKFNAME,        

RK1.FMATERIALID,                 --物料内码

W01.FNUMBER AS WLFNUMBER,

W02.FNAME AS WLFNAME,

W02.FSPECIFICATION,

RK1.FBASEQTY ,                 --库存量(基本单位)

RK1.FBASEUNITID,   --基本单位内码

JL02.FNAME AS JLFNAME,

W01.F_NET_SHANGJIFENZU, 

RK1.FLOT,                                   --批号ID

PH1.FNUMBER AS PHFNUMBER,

W04.FREFCOST,                     --参考成本

WD.FDIMEENTRYID,

JC.FQTY,

JC.FAMOUNT,

ISNULL(JC.FAMOUNT,0)/NULLIF(JC.FQTY,0) AS jcdj


-- UPDATE rk1 SET rk1.FBASEUNITID='100155'


FROM T_STK_INVENTORY RK1  LEFT  JOIN  T_BD_STOCK CK1 ON CK1.FSTOCKID = RK1.FSTOCKID  --关联仓库表

LEFT JOIN T_BD_STOCK_L ck2 ON ck2.FSTOCKID = CK1.FSTOCKID

LEFT JOIN dbo.T_BD_MATERIAL W01 ON W01.FMATERIALID =RK1.FMATERIALID  --连接物料表

    LEFT JOIN dbo.T_BD_MATERIAL_L W02 ON W02.FMATERIALID=W01.FMATERIALID --连接物料多语言表

    LEFT JOIN dbo.T_BD_MATERIALBASE  W03 ON W03.FMATERIALID=W02.FMATERIALID  --关联物料基本表

    LEFT JOIN T_BD_MATERIALSTOCK W04 ON W04.FMATERIALID = W01.FMATERIALID   --关联物料库存表

    LEFT JOIN T_BD_LOTMASTER PH1 ON PH1.FLOTID=RK1.FLOT              --关联批号主档表

    LEFT JOIN T_BD_UNIT JL01 ON JL01.FUNITID=RK1.FBASEUNITID  --关联计量单位表

    LEFT JOIN T_BD_UNIT_L  JL02 ON JL02.FUNITID=JL01.FUNITID         --关联计量单位表


LEFT   JOIN T_HS_INIVSTOCKDIMENSION WD ON WD.FMATERIALID=RK1.FMATERIALID AND WD. FSTOCKID  IN ('103108')  --关联库存属性维度

LEFT JOIN T_HS_BALANCE JC ON JC.FDIMEENTRYID=WD.FDIMEENTRYID   AND JC.FENDINITKEY='0'   --关联维度内码


WHERE  CK1.FNUMBER  IN ('hr025')  AND W01.FNUMBER='507710900'


仅供参考, 建议先在备份账套测试通过后,再执行....


解决外购物料在采购入库前发生单位变更,入库后无法正常出库

使用中,反馈物料出库有异常,曾经改过物料单位, 经查询物料之前单位是"个",后面修改成"条",查询即时库存单位显示为"个";此时如果可以直接修...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息