应收单删除后销售订单和销售合同上关联应收数量反写异常的解决思路原创
金蝶云社区-cq_l
cq_l
25人赞赏了该文章 521次浏览 未经作者许可,禁止转载编辑于2023年03月14日 16:01:48

业务背景

因之前下推过应收单并进行提交审核,但是因为种种原因需要把应收单删除,删除应收单时,因为某种原因之前应收单反写到销售订单和销售合同上的关联应收数量没有及时清空,导致下次下推应收单保存和审核时提示关联应收数量超额,无法进行保存和审核操作。

image.png

image.png

解决思路

  1. 先定位出是哪种反写规则报的提示,找到时确定反写字段,再从BOS平台中的数据模型中确定后台表及字段

    image.png

    image.png

    image.png

  2. 数据库操作

--查询订单与应收单的反写关联字段

SELECT

a.fid,

d.fentryid,

B.FJoinOrderAmount 关联应收金额订单,

C.FBASEARQTY 累计应收数量销售基本,

C.FARAMOUNT 累计应收金额,

C.FBaseARJoinQty 关联应收数量计价基本,

C.FSalBaseARJoinQty 关联应收数量销售基本,

C.FStockBaseARJoinQty 关联应收数量库存基本,

D.FBASEFINARQTY 先开票数量计价基本,

D.FSALBASEFINARQTY 先开票数量销售基本 --,E.*

FROM

T_SAL_ORDER A

INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID

INNER JOIN T_SAL_ORDERENTRY_R C ON C.FID = A.FID

INNER JOIN T_SAL_ORDERENTRY_E D ON D.FID = A.FID

INNER JOIN T_SAL_ORDERENTRY E ON E.FID = A.FID

AND e.FENTRYID = d.FENTRYID

AND c.FENTRYID = e.fentryid

WHERE

A.FBILLNO = 'XXX'


--备份相关表

SELECT

* INTO T_SAL_ORDERENTRY_R_XXX_20230314

FROM

T_SAL_ORDERENTRY_R 


SELECT

* INTO T_SAL_ORDERFIN_XXX_20230314

FROM

T_SAL_ORDERFIN 


--更新反写关联字段

--UPDATE T_SAL_ORDERENTRY_R

SET FBASEARQTY = 0,

FARAMOUNT = 0,

FBaseARJoinQty = 0,

FSalBaseARJoinQty = 0,

FStockBaseARJoinQty = 0

WHERE

fentryid = XXX


--UPDATE T_SAL_ORDERFIN

SET FJoinOrderAmount = 0

WHERE

fid = XXX


--备份表

select * into T_CRM_CONTRACTENTRY_R_zhengyilun20230314 from T_CRM_CONTRACTENTRY_R

--查找反写字段

select  c.fentryid,c.FARBASEUNITQTY,c.FBASEARJOINQTY,c.FBASEFINARQTY,c.FSALBASEFINARQTY,* 

from T_CRM_CONTRACT a

left join T_CRM_CONTRACTentry b on a.fid=b.FID

left join T_CRM_CONTRACTENTRY_R c on c.fentryid=b.fentryid

--left join T_CRM_CONTRACTentry_lk d on d.fentryid=b.fentryid

where a.fbillno='XXX'

--清除销售合同的数据

--update T_CRM_CONTRACTENTRY_R set FARBASEUNITQTY=0 where fentryid=XXX


3.执行以上操作,应收单就可以正常保存和审核了。





赞 25