集成平台sqlserver 表包含自动增长列,插入报错

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

集成平台sqlserver 表包含自动增长列,插入报错

环境:k3cloud餐饮6.1 ,sqlserver 数据中心。
角色:管理员。
模块:系统管理--集成平台--数据集成--业务单据映射

BUG描述
1、新增 业务单据映射,选择K3业务单据 为 POS营收账单,配置完成运行显示错误,服务器日志报错:
"System.Data.SqlClient.SqlException (0x80131904): 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'T_DIN_POSBusiFood' 中的标识列插入显式值。"
查看数据库,T_DIN_POSBusiFood的主键FEntryID是自动增长的。
2、同时,餐饮行业库存储过程Sp_Upposgeneratebill 在 T_DIN_POSBusiFood表插入数据时 ,利用了 这个主键自动增长的特点。插入语句中没包含FEntryID字段。

希望:
修改集成平台,sqlserver部分的写入逻辑:如果 目标表主键包含自动增长属性的字段

1、插入语句集不要包含主键字段。
2、或者在插入语句前面加:'SET IDENTITY_INSERT 表名 ON',后面加上 'SET IDENTITY_INSERT 表名 OFF'。


看上面的sql是餐饮的表,我们标准环境下面没有这个,
请转餐饮处理吧,餐饮来处理更专业,餐饮更清楚这个表怎么插入数据的。
还要开发插件啊,这就费劲了。能提单让集成平台这做个补丁么?
收藏关注一下~~
1. 在插件工程里面引用Kingdee.BOS.Core.dll。
2. 继承AbstractIntegrationPlugIn,里面有四个方法都有注释,可以根据需要把脚本在方法中执行。
3. 把插件注册到T_BAS_INTEGRATIONPLUGIN表中。插件格式和BOSIDE里面注册插件的格式一样。
我们的内码都用的是cloud的种子,没有考虑这种自增长的内码。
建议通过在集成平台的集成方案中增加自定义插件解决。

集成平台sqlserver 表包含自动增长列,插入报错

环境:k3cloud餐饮6.1 ,sqlserver 数据中心。角色:管理员。模块:系统管理--集成平台--数据集成--业务单据映射BUG描述:1、新增 业务...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息