【问题描述】
录入凭证的时候、期末调汇自动生成凭证、结转损益自动生成凭证时,提示“违反了XXX约束XXX。不能在对象dbo.t-VoucherEntrl中插入重复键”?
【场景介绍】
录入/生成凭证,凭证进行保存的时候,提示不能插入重复键,不能正常保存凭证。
【解决方案】
该问题一般是因为存在凭证脏数据,存在有凭证体,没有凭证头的情况,导致凭证体被异常占用,无法新增凭证,请用以下语句进行检测:
select * from t_voucherentry where fvoucherid not in (select fvoucherid from t_voucher)
如果查询出来数据,则代表有上述的情况需要进行修复,需要将这部分异常的凭证体进行删除,修复语句如下: delete from t_voucherentry where fvoucherid not in (select fvoucherid from t_voucher)
【注意事项】
正式账套执行脚本前请先做好备份,建议待在测试账套中核实无误后再在正式账套中执行。