如何在ClaimCenter中撤销已作废付款?(Check#voidCheck()误操作场景)
撤销意外作废付款的解决方案(CC v9.0.4,PL v9.14.11)
核心结论
在当前版本中,存在撤销付款作废状态的官方方法,可通过调用Check#unvoidCheck()实现,但需满足特定前置条件。
操作步骤与前置要求
- 前置条件:
- 作废操作后未触发不可逆业务流程(如已完成退款、付款关联至已核销凭证等)
- 调用者拥有对应付款单据的编辑/反作废权限
- 调用方式:
通过datachange调用Check#unvoidCheck()方法,传入目标付款单据的唯一标识(通常为checkId),示例代码片段:// 反作废指定ID的付款单据示例 CheckService checkService = BeanLocator.getBean(CheckService.class); Check check = checkService.getCheckById(checkId); if (check != null && check.isVoided()) { check.unvoidCheck(); checkService.saveCheck(check); } - 注意事项:
- 调用前必须验证付款单据当前状态,仅当
isVoided()返回true时执行反作废操作 - 若付款单据已关联不可逆业务节点,
unvoidCheck()会抛出业务异常,需捕获并针对性处理
- 调用前必须验证付款单据当前状态,仅当
替代方案(若unvoidCheck不可用)
如果因业务限制无法直接调用unvoidCheck(),可采用以下方式处理:
- 手动创建等额正向付款单据,关联原业务场景并备注"撤销误作废付款"
- 联系运维或技术支持,通过后台数据库操作修正状态(仅紧急场景使用,需严格遵循数据变更流程)
内容的提问来源于stack exchange,提问作者Mrye
相关产品推荐
相关产品推荐

