更新库存失败,即时库存表唯一索引冲突,可能原因
Begin
备注:
刚好遇到问题,是这样解决的。不代表这个错误都是这样解决的。
背景:
- 把分配的物料反审核了,然后修改创建组织的物料单位,一起提交审核。
- 销售订单有此物料,后续发布销售出库单报错。
估计原因:
此物料已经有出入库了,修改了基本单位导致异常。
解决:
把现有存在问题的物料,单据 按出入库的单位改回去。
步骤:
- 物料的直接手工在系统上处理就好了
- 有问题的单据用语句SQL查找
-
select m.FNUMBER,B.FBASEUNITID,u1.FNUMBER,IOUNIT.FBASEUNITID,u2.FNUMBER,ORG.FNUMBER ,SE.FUNITID,u3.FNUMBER,S.FBILLNO,S.FCRM_ORDER_NO,SEF.FPRICEUNITID,SE.FENTRYID ,SED.FOUTLMTUNITID,SEP.FPLANUNITID,SE.FStockUnitId,SE.FBASEUNITID from T_BD_MATERIAL m left join T_BD_MATERIALBASE B on m.FMATERIALID=B.FMATERIALID left join ( select distinct FBASEUNITID,FMATERIALID from V_HS_OUTINSTOCKSEQ Seq INNER join T_HS_InivStockDimension Dim on seq.FDimeEntryId = dim.FEntryId )as IOUNIT on m.FMATERIALID = IOUNIT.FMATERIALID left join T_BD_UNIT u1 on B.FBASEUNITID = u1.FUNITID left join T_BD_UNIT u2 on IOUNIT.FBASEUNITID = u2.FUNITID left join T_ORG_ORGANIZATIONS ORG ON m.FUSEORGID = ORG.FORGID left join T_SAL_ORDERENTRY SE on m.FMATERIALID = SE.FMATERIALID left join T_SAL_ORDERENTRY_F SEF on SE.FENTRYID=SEF.FENTRYID left join T_SAL_ORDERENTRY_D SED on SE.FENTRYID=SED.FENTRYID left join T_SAL_ORDERENTRYDELIPLAN SEP on SE.FENTRYID=SEP.FENTRYID left join T_BD_UNIT u3 on SE.FUNITID = u3.FUNITID left join T_SAL_ORDER S on SE.FID= S.FID where (isnull(IOUNIT.FBASEUNITID,B.FBASEUNITID) <>B.FBASEUNITID or isnull(SE.FUNITID,B.FBASEUNITID) <>B.FBASEUNITID or isnull(SED.FOUTLMTUNITID,B.FBASEUNITID) <>B.FBASEUNITID or isnull(SEP.FPLANUNITID,B.FBASEUNITID) <>B.FBASEUNITID or isnull(SE.FStockUnitId,B.FBASEUNITID) <>B.FBASEUNITID or isnull(SE.FBASEUNITID,B.FBASEUNITID) <>B.FBASEUNITID ) order by m.FNUMBER,FBILLNO
-
- 手工把能反审核的单据 反审核,然后有问题的物料重新加载一次(切换其他物料再切回来,再输入数量 单价)
- 不能反审核的 把上面的单位都在update,然后关账 结账。 如果没问题就在生产系统走一遍。
End

浙公网安备 33010602011771号