凭证过账时提示错误:
MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。MERGE 语句无法多次更新/删除目标表的同一行。请简化 ON 子句,以确保目标行最多与一个源行匹配,也可以使用 GROUP BY 子句对源行分组。
MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。MERGE 语句无法多次更新/删除目标表的同一行。请简化 ON 子句,以确保目标行最多与一个源行匹配,也可以使用 GROUP BY 子句对源行分组。
在 Kingdee.K3.FIN.GL.App.Core.AbstractVoucherPost.PostVoucher(Context ctx, VoucherPostParameters postParam)
应该是科目修改后挂了核算维度,而修改前录的凭证维度ID为0导致的。执行下面的sql, 可以把这种有问题的凭证查询出来。编辑这些凭证,重新选择核算维度,保存凭证。将这些凭证全部修复,再次执行下面的sql没有结果,说明凭证已正常。 继续过账。
SELECT
b.FNAME 账簿,
a.FYEAR 年,
a.FPERIOD 期间,
c.fname 凭证字,
a.fvouchergroupno 凭证号
FROM
T_GL_VOUCHER a
LEFT JOIN T_BD_ACCOUNTBOOK_L b ON a.FACCOUNTBOOKID = b.FBOOKID
AND b.FLOCALEID = 2052
LEFT JOIN T_BD_VOUCHERGROUP_L c ON a.FVOUCHERGROUPID = c.FVCHGROUPID
AND c.FLOCALEID = 2052
WHERE
FVOUCHERID IN ( SELECT fvoucherid FROM T_GL_VOUCHERENTRY WHERE faccountid IN ( SELECT FACCTID FROM T_BD_ACCOUNTFLEXENTRY GROUP BY FACCTID ) and FDETAILID=1 )
推荐阅读