NC65结算单结算日期在支付指令状态节点进行状态下载操作时,取了当前日期,导致数据在账户余额表中对不平的后台sql处理

354 篇文章 101 订阅

如下图,“263X2023032400000138”,“264X202303201389”,“264X202301060966”这三张单据由于支付状态当时没有及时没刷新,导致一直显示支付中。然后我在4月10号、4月12号这两天点了“状态下载”按钮进行更新状态,结果更新后,在结算节点中查询这两个单据的时候,发现结算日期变成4月10号和12号的了,请问怎么修改为3月的,即取指令发送日期的值??
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【银行存款日记账】查询的时候,日期也是4月10号的
在这里插入图片描述

由于日期不对,导致账户余额表中的数据不对,继而导致总账和业务账对不平。
在这里插入图片描述
经查看了一下代码逻辑,NC标准现有的逻辑就是,当在【支付指令状态】点击状态下载按钮进行状态更新的时候,就会回写当前日期到结算日期上,即当单据使用网银支付时,结算日期回写的是支付状态下载第一次为支付成功的日期。所以如果需要取指令发送日期或支付日期,就需要修改代码现有的逻辑。
也可以在ism上查找相关补丁,如:SUPPORT-NC6.5-Special-20200803-33798,进行申请下载。

关键代码:
在这里插入图片描述

注意,补丁只对后期业务的单据起作用,历史数据无效。如果历史数据产生了上述的问题,只能通过后台使用sql解决。

相关sql:

-- 根据单据号查询单据的结算日期和最新更新日期
select pk_settlement, settledate, lastupdatedate from cmp_settlement where billcode in ('264X202301060966', '263X2023032400000138', '264X202303201389')


--更新结算表头的结算日期、最新更新日期
update cmp_settlement set settledate='2023-03-30 17:23:25', lastupdatedate = '2023-03-30 17:23:25' where pk_settlement in ('0001A11000000004XKQV')

update cmp_settlement set settledate='2023-03-30 17:23:00', lastupdatedate = '2023-03-30 17:23:00' where pk_settlement in ('0001A11000000004ZO3T')

update cmp_settlement set settledate='2023-03-03 12:44:00', lastupdatedate = '2023-03-03 12:44:00' where pk_settlement in ('0001A11000000003XVF9')


--根据表头主键查询表体的组织结算日期、组织结算时间、结算日期
select pk_detail, orgsettledate, orgsettletime, tallydate  from cmp_detail where pk_settlement in ('0001A11000000003XVF9', '0001A11000000004XKQV', '0001A11000000004ZO3T');

--更新表体的结算日期,如果组织结算日期、组织结算时间有值,也需要更新
update cmp_detail set tallydate='2023-03-30 17:23:25' where pk_settlement in ('0001A11000000004XKQV')

update cmp_detail set tallydate='2023-03-30 17:23:00' where pk_settlement in ('0001A11000000004ZO3T')

update cmp_detail set tallydate='2023-03-03 12:44:00' where pk_settlement in ('0001A11000000003XVF9')


--根据业务单据号(来源单据号)查询银行存款日记账(银行账户账明细表)
--select * from cmp_bankaccdetail bd where bd.vbillno in ('264X202303201389', '263X2023032400000138', '264X202301060966');
select  pk_bankaccdetail, pk_bill, vbillno, tallydate, tallytime from cmp_bankaccdetail bd where bd.vbillno in ('264X202303201389', '263X2023032400000138', '264X202301060966');

--根据业务单据号(来源单据号)更新银行存款日记账(银行账户账明细表)的 记账日期,记账时间
update cmp_bankaccdetail set tallydate = '2023-03-30', tallytime = '2023-03-30 17:23:25' where vbillno in ('264X202303201389');

update cmp_bankaccdetail set tallydate = '2023-03-30', tallytime = '2023-03-30 17:23:00' where vbillno in ('263X2023032400000138');

update cmp_bankaccdetail set tallydate = '2023-03-03', tallytime = '2023-03-03 12:44:00' where vbillno in ('264X202301060966');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值