如何修改应收单业务日期 sql语句原创
51人赞赏了该文章
403次浏览
编辑于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
注:修改应付单业务日期(跨期修改)需确认是否已经产生勾稽,如有产生不建议修改,会影响存货对账
推荐阅读