新增单据,重复保存报“数据已被删除,违反字段唯一性要求:编码唯一”的错误原创
42人赞赏了该文章
518次浏览
编辑于2023年11月14日 19:23:57
1、错误现象
单据已取消所有表单插件、操作服务插件、校验规则、实体服务规则等,但是新增单据保存后,重复保存还是会报错,提示数据已被删除,违反字段唯一性要求。
2、排查思路
可检查表格主键字段是否设置了自动递增导致。
标准产品单据保存时,主键内码通过种子表获取到,而一旦数据库表格设置主键递增,将会与标准逻辑产生冲突。
如标准种子表取单据内码是100500,而表格主键递增值是200,最终新增插入数据库数据是200,而一旦重复保存时,系统会识别到100500数据不存在,导致报错。
查询表格是否存在自动递增字段,可通过下面示例脚本:
--查询表格是否存在自动递增字段。 SELECT t.name AS TableName,c.name AS ColumnName, c.is_identity AS IsIdentityColumn FROM sys.tables AS t INNER JOIN sys.columns AS c ON t.object_id = c.object_id WHERE c.column_id = 1 AND c.is_identity = 1 AND t.name = 'Z_Cust100406'
3、相关知识
星空种子表介绍,可参考:
https://vip.kingdee.com/article/241601125420221184?productLineId=1&isKnowledge=2
https://vip.kingdee.com/article/246276119392136192?productLineId=1&isKnowledge=2
https://vip.kingdee.com/article/116231986418582016?productLineId=1&isKnowledge=2
https://vip.kingdee.com/article/380364970187461376?productLineId=1&isKnowledge=2
赞 42
42人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读