单据保存同时另存一份到另一个数据中心
金蝶云社区-云小爱
云小爱
0人赞赏了该文章 2,803次浏览 未经作者许可,禁止转载编辑于2014年01月07日 01:54:56

public override void EndOperationTransaction(EndOperationTransactionArgs e)
{
base.EndOperationTransaction(e);

try
{
var svr = Kingdee.BOS.Contracts.ServiceFactory.GetLoginService("");
var ret = svr.Login(Kingdee.BOS.Performance.Common.PerformanceContext.Create(), new Kingdee.BOS.Authentication.LoginInfo() { AcctID = "509fbbebc7db4359b045a314bf32a924", Username = this.Context.UserName, Password = "888888", PasswordIsEncrypted = false, AuthenticateType = Kingdee.BOS.Authentication.AuthenticationType.PwdAuthentication, LoginType = Kingdee.BOS.Authentication.LoginType.NoPassWordVaildLogin });
if (ret.LoginResultType == Kingdee.BOS.Authentication.LoginResultType.Success)
{
var ctx = ret.Context;
foreach (var item in e.DataEntitys)
{
BusinessDataServiceHelper.Save(ctx, item);
}
}
else
{
throw new Exception(ret.LoginResultType.ToString() + " , " + ret.Message);
}
}
catch (Exception ex)
{
throw ex;
}
}

2个数据中心用户一样的,单据保存时保存一份到另一数据中心,使用BusinessDataServiceHelper.Save(ctx, item); 在另一数据中心没有自动新增,怎么把获取到的增加到另一数据中心。
发生时间:1:57:15
错误来源: Kingdee.BOS.ServiceHelper
错误信息:更新未能成功。可能是数据已经被他人更新
===================================================
调用堆栈:

Server stack trace:
在 Kingdee.BOS.App.Data.OLEDbDriver.KSqlTask.Execute(IDbConnection con, IDbTransaction tran)
在 Kingdee.BOS.Orm.Drivers.OrmTransactionBase.ExecuteSqlTasks(IList`1 tasks)
在 Kingdee.BOS.Orm.Drivers.OrmTransactionBase.Commit()
在 Kingdee.BOS.Orm.DataManager.DataManagerImplement.DoItInTransaction(Action`2 action, IOrmTransaction ormTransaction, OperateOption option)
在 Kingdee.BOS.App.Core.BusinessDataWriter.Save(DynamicObject[] dataEntities, IOrmTransaction tran, OperateOption option)

在 Kingdee.BOS.App.Core.SaveService.Save(Context ctx, DynamicObject[] dataEntities)