如何修改应收单业务日期 sql语句原创
金蝶云社区-Cream桃子
Cream桃子
51人赞赏了该文章 404次浏览 未经作者许可,禁止转载编辑于2024年08月01日 10:13:40

业务场景:

在应收单审核后,需要修改单据的业务日期,不建议用户放开业务日期审核状态下的锁定下去修改,如果应收单核销过,那么修改后会影响计划重算,导致计划的内码跟核销记录不一致,从而影响账龄表。

数据库修改的前提是修改的单据在应收款管理模块当前期间需要是未结账状态,如已结账,需反结账到单据当前期间才能修改业务日期(只反应收款模块即可)。

若单据已生成凭证(跨期修改)需要删除凭证重新生成或者总账做当期调账

数据库修改语句参考:

可参考以下语句,注意修复前一定要全表进行备份!!!

应收单涉及到的表和字段:
应收单单据头  T_AR_RECEIVABLE                                          字段:业务日期:FDATE  到期日:FENDDATE
应收单计划表  T_AR_RECEIVABLEPLAN                                 字段:到期日:FENDDATE
应收收款核销记录单据体  T_AR_RECMACTHLOGENTRY        字段:业务日期:FSRCDATE 
应收收款核销记录单据头  T_AR_RECMACTHLOG                   字段:账龄报表取数用日期日期:FREPORTDATE

--应收单业务日期和到期日
--UPDATE T_AR_RECEIVABLE set FDATE='修改后的业务日期', FENDDATE='修改后的到期日'  WHERE FBILLNO='单据编号'  

--收款计划到期日
--UPDATE T_AR_RECEIVABLEPLAN set FENDDATE='修改后的到期日'  WHERE FID in (select FID from T_AR_RECEIVABLE WHERE FBILLNO='单据编号')  

--应收开票核销记录单据体的业务日期
--UPDATE T_AR_BILLINGMATCHLOGENTRY set FSRCDATE='修改后的业务日期'  WHERE FSRCBILLNO='单据编号' and FSOURCEFROMID='AR_RECEIVABLE'  

--应收收款核销记录单据体的业务日期
--UPDATE T_AR_RECMACTHLOGENTRY set FSRCDATE='修改后的业务日期'  WHERE FSRCBILLNO='单据编号' and FSOURCEFROMID='AR_RECEIVABLE'  

--核销记录单据头账龄报表取数用日期(取核销记录同一个核销序号最大的业务日期)
--UPDATE a set FREPORTDATE=(select max(FSRCDATE) from T_AR_RECMACTHLOGENTRY where fid=a.fid) 
from T_AR_RECMACTHLOG a
where fid in (select distinct FID from T_AR_RECMACTHLOGENTRY where FSRCBILLNO='单据编号' and FSOURCEFROMID='AR_RECEIVABLE' ) 

应付单同理

应付单涉及到的表和字段:
应付单单据头   T_AP_PAYABLE                                                 字段:业务日期:FDATE  到期日:FENDDATE
应付单计划表   T_AP_PAYABLEPLAN                                        字段:到期日:FENDDATE
应付收款核销记录单据体  T_AP_PAYMATCHLOGENTRY           字段:业务日期:FSRCDATE 
应付收款核销记录单据头  T_AP_PAYMATCHLOG                      字段:账龄报表取数用日期日期:FREPORTDATE

注:修改应付单业务日期(跨期修改)需确认是否已经产生勾稽,如有产生不建议修改,会影响存货对账

赞 51