反写规则和BOS单据提示不能在对象 'dbo.@PKValue_udt2' 中插入...
金蝶云社区-云社区用户3P654163
云社区用户3P654163
0人赞赏了该文章 693次浏览 未经作者许可,禁止转载编辑于2016年11月01日 10:10:50

1、客户用的是CLOUD6.0,打了PT107614补丁,反写规则打开的时候报错,但是点击报错提示的确定按钮之后,反写规则功能仍然可以使用,报错截图和信息如下:

[{"operation":"BOS_BFWriteBack_List.GetEntryData"}]
发生时间: 2016-11-01 10:05:06
错误编号: BOS_ExecuteReader
错误信息: 违反了 PRIMARY KEY 约束 'PK__#555F5ED__C1BEA5A25653830B'。不能在对象 'dbo.@PKValue_udt2' 中插入重复键。
语句已终止。
Sql语句: SELECT T_META_OBJECTTYPE.FID FROM T_META_OBJECTTYPE WHERE T_META_OBJECTTYPE.FID IN (SELECT fid FROM @PKValue_udt2);
SELECT T_META_OBJECTTYPE_L.FPkId, T_META_OBJECTTYPE_L.FLocaleId, T_META_OBJECTTYPE_L.FNAME, T_META_OBJECTTYPE_L.FID FROM T_META_OBJECTTYPE_L INNER JOIN T_META_OBJECTTYPE ON T_META_OBJECTTYPE_L.FID = T_META_OBJECTTYPE.FID WHERE T_META_OBJECTTYPE.FID IN (SELECT fid FROM @PKValue_udt2);
===================================================
调用堆栈:
Server stack trace:
在 Kingdee.BOS.App.Data.AbstractDatabase.ExecuteReader(DbCommand command, IEnumerable`1 paramList, CommandBehavior cmdBehavior, Boolean bNewCn)
在 Kingdee.BOS.App.Data.AbstractDatabase.ExecuteReader(DbCommand command, IEnumerable`1 paramList, CommandBehavior cmdBehavior)
在 Kingdee.BOS.App.Data.DBUtils.ExecuteReader(Context ctx, String strSQL, IEnumerable`1 paramList, CommandType cmdtype, CommandBehavior cmdBehavior, Boolean bNewCn)
在 Kingdee.BOS.App.Data.DBUtils.ExecuteReader(Context ctx, String strSQL, IEnumerable`1 paramList, CommandType cmdtype, Boolean bNewCn)
在 Kingdee.BOS.App.Data.DBUtils.ExecuteReader(Context ctx, String strSQL, List`1 paramList)
在 Kingdee.BOS.App.Data.Sql.KSql4SQLDataReader..ctor(IList`1 selectSqls, Context ctx, ReadWhere where, IEnumerable`1 tablesSchema, DbMetadataTable rootTable)
在 Kingdee.BOS.App.Data.OLEDbDriver.ExecuteReader(SelectCallback callback, IEnumerable`1 tablesSchema, DbMetadataTable rootTable, IList`1 selectSqls, ReadWhere where, OperateOption option)
在 Kingdee.BOS.Orm.Drivers.DbDriverBase.Select(SelectCallback callback, IEnumerable`1 tablesSchema, DbMetadataTable rootTable, ReadWhere where, OperateOption option)
在 Kingdee.BOS.Orm.DataManager.DataManagerImplement.ReadToDataSet(IDbDriver driver, DbMetadataDatabase database, DbMetadataTable rootTable, ReadWhere where, OperateOption option)
在 Kingdee.BOS.Orm.DataManager.DataManagerImplement.Read(ReadWhere where, OperateOption option)
在 Kingdee.BOS.Orm.DataManager.DataManagerImplement.Read(IEnumerable ids, OperateOption option)
在 Kingdee.BOS.Orm.LoadReferenceObjectManager.Read(IDataEntityType dt, Object[] oids)
在 Kingdee.BOS.App.Core.CachedLoadReferenceObjectManager.Read(IDataEntityType dt, Object[] oids)
在 Kingdee.BOS.Orm.LoadReferenceObjectManager.DoTasks(ICollection`1 tasks, Dictionary`2 dictReferenceWhere)
在 Kingdee.BOS.App.Core.ListDataService.GetData(Context ctx, String sql, DynamicObjectType dt, List`1 sqlParams)
Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
在 Kingdee.BOS.Contracts.IListDataServices.GetData(Context ctx, String sql, DynamicObjectType dt, List`1 sqlParams)
在 Kingdee.BOS.ServiceHelper.ListDataServiceHelper.GetData(Context ctx, String sql, DynamicObjectType dt, List`1 sqlParams)
在 Kingdee.BOS.Model.List.DataAccessPolicy.DirectSQLDataAccessTreeList.GetTreeListData(Int32 start, Int32 rows, FormGroup group, String groupAliasName, Boolean displayChildData)
在 Kingdee.BOS.Model.List.TreeListModel.GetDataByDirectSQL(Int32 start, Int32 rows)
在 Kingdee.BOS.Model.List.ListModel.GetData(Int32 start, Int32 rows, Boolean needRefreshTree)
在 Kingdee.BOS.Web.List.ListView.PrepareDatas(Int32 startRow, Int32& limit, FormOperationEnum operatioEnum, String groupRows, String permissionItemId, JSONObject data)
在 Kingdee.BOS.Web.List.ListView.GetDataByPermission(Int32 startRow, Int32 limit, FormOperationEnum operatioEnum, String groupRows, String permissionItemId, DynamicObjectCollection pageDatas)
在 Kingdee.BOS.Web.List.ListView.GetData(Int32 startRow, Int32 limit, String groupRows)
在 Kingdee.BOS.Web.List.ListView.GetEntryData(String key, Int32 start, Int32 limit, String groupRows)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.GetEntryData(String key, Int32 start, Int32 limit, String groupRows)

2、BOS新增的自定义单据有些突然就打不开了,双击之后报类似错误


详细信息如下:
发生时间: 2016-11-01 09:50:00
错误来源:
错误类型: System.Data.SqlClient.SqlException, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
错误信息: 违反了 PRIMARY KEY 约束 'PK__#022044B__C1BEA5A2031468E9'。不能在对象 'dbo.@PKValue_udt2' 中插入重复键。
语句已终止。
===================================================
调用堆栈:
在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
在 System.Data.SqlClient.SqlDataReader.get_MetaData()
在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 Kingdee.BOS.App.Data.AbstractDatabase.DoExecuteReader(DbCommand command, CommandBehavior cmdBehavior)
在 Kingdee.BOS.App.Data.AbstractDatabase.ExecuteReader(DbCommand command, IEnumerable`1 paramList, CommandBehavior cmdBehavior, Boolean bNewCn)

请总部同事帮忙看下是什么原因,万分感谢!