代码中使用save保存单据时提示数据表中主键FID冲突
金蝶云社区-云社区用户c5Q65463
云社区用户c5Q65463
0人赞赏了该文章 996次浏览 未经作者许可,禁止转载编辑于2014年08月20日 15:29:21

代码中使用save保存单据时提示数据表中主键冲突。 HBOS.PK_KDY_REG_T_SHIFT 为主键名,指向FID字段。

如下方法:
BusinessDataServiceProxy k3CloudService;

k3CloudService.Save(fm.BusinessInfo, OpShift.ToArray());
// 用的是 public DynamicObject[] Save(BusinessInfo businessInfo, DynamicObject[] dataObjects); 保存动态对象数组的方法,在动态对象数组里没有对主键赋值。
如果用 public DynamicObject Save(BusinessInfo businessInfo, DynamicObject dataObjects); 逐条保存,则没有问题,并且能整成生成主键FID。

错误提示:

{"ORA-24381: error(s) in array DML\n\nORA-00001: unique constraint (HBOS.PK_KDY_REG_T_SHIFT) violated\n\nORA-00001: unique constraint (HBOS.PK_KDY_REG_T_SHIFT) violated\n\nORA-00001: unique constraint (HBOS.PK_KDY_REG_T_SHIFT) violated"}