根据ID重新加载数据包,引用对象属性,LoadReferenceObject

var BD_MATERIAL = Synthesize.LoadFirst(this.Context, "BD_MATERIAL", string.Format("FNumber = '{0}' AND FUseOrgId = {1} AND FDOCUMENTSTATUS = 'C' AND FFORBIDSTATUS = 'A'", number, SaleOrgId_Id));
if (BD_MATERIAL != null)
{
  rowObj["MaterialId_Id"] = BD_MATERIAL["id"];
  //rowObj["MaterialId"] = BD_MATERIAL ;//直接赋值数据包可能导致保存时错误
  rowObj["MaterialId"] = null;//清空数据包,后面重新加载
}

//该方法会根据id重新加载数据包的引用数据 AppServiceContext.DBService.LoadReferenceObject(
this.Context, targetBillObjs, targetBillMeta.BusinessInfo.GetDynamicObjectType(), false); //调用保存服务,自动保存 ISaveService saveService = Kingdee.BOS.App.ServiceHelper.GetService<ISaveService>(); var saveResult = saveService.Save(this.Context, targetBillMeta.BusinessInfo, targetBillObjs, saveOption, "Save");

 

posted @ 2023-09-08 14:06  木古白水  阅读(9)  评论(0)    收藏  举报