插件构造数据包调用保存操作不触发批号保存服务问题排查

一、【问题现象】
自定义的BOS单据在保存操作上配置了保存并更新批号主档服务,前台手工新增单据点保存时,该服务会执行,
但是插件生成的单据不会执行保存并更新批号主档服务,批号ID没有。插件中批号的赋值方式是用entry['Lot_Text'] = 'ABC'这种方式赋的,保存调用的标准服务BusinessDataServiceHelper.Save(Context, realOrderMetaData.BusinessInfo, bill, OperateOption.Create(), 'Save')
二、【解决方案】
单据的保存操作上配置有"保存并更新批号主档"服务,触发保存操作,会生成批号主档(如果对应批号不存在)
构造完数据包调用LoadReferenceObject方法(基础档案在实体中赋值ID自动加载其相关引用资料),再调用保存操作
DBServiceHelper.LoadReferenceObject(this.Context, new DynamicObject[] { oMisDelivery }, oMisDelivery.DynamicObjectType, false);
//获取其他出库单的元数据 IMetaDataService metaService = Kingdee.BOS.Contracts.ServiceFactory.GetService<IMetaDataService>(this.Context); FormMetadata MisDeliveryMeta = (FormMetadata)metaService.Load(this.Context, SCMFormIdConst.STK_MisDelivery); DynamicObject oMisDelivery = new DynamicObject(MisDeliveryMeta.BusinessInfo.GetDynamicObjectType()); //实体ORM标识:明细信息 DynamicObjectCollection detailCollItem = oMisDelivery["BillEntry"] as DynamicObjectCollection; #region 单据头 oMisDelivery["BillTypeID_Id"] = "61a4d51a5a6fb8"; //单据类型 oMisDelivery["DocumentStatus"] = "Z"; //单据状态 oMisDelivery["FFormId"] = "STK_MisDelivery"; //业务对象类型 oMisDelivery["BizType"] = "0"; //业务类型 oMisDelivery["StockOrgId_Id"] = 100003; //库存组织 oMisDelivery["PickOrgId_Id"] = 100003; //领料组织=货主 oMisDelivery["StockDirect"] = "GENERAL"; //库存方向 oMisDelivery["Date"] = DateTime.Now; oMisDelivery["CreateDate"] = DateTime.Now; oMisDelivery["ModifyDate"] = DateTime.Now; oMisDelivery["DeptId_Id"] = 100202; oMisDelivery["CreatorId_Id"] = Convert.ToInt64(this.Context.UserId); //创建人 oMisDelivery["ModifierId_Id"] = Convert.ToInt64(this.Context.UserId); //修改人 oMisDelivery["CancelStatus"] = "A"; //作废状态 oMisDelivery["OwnerTypeIdHead"] = "BD_OwnerOrg"; //货主类型 oMisDelivery["OwnerIdHead_Id"] = 100003; //货主 oMisDelivery["TransferBizType_Id"] = Convert.ToInt64(6); //跨组织业务类型 #endregion DynamicObject detailItem = new DynamicObject(detailCollItem.DynamicCollectionItemPropertyType); detailItem["Seq"] = 1; detailItem["LOT_TEXT"] = "20220708-Test"; detailItem["StockId_Id"] = 100022;
插件构造数据包调用保存操作不触发批号保存服务问题排查
一、【问题现象】自定义的BOS单据在保存操作上配置了保存并更新批号主档服务,前台手工新增单据点保存时,该服务会执行,但是插件生成的单...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



