通过单据内码加载其实体模型或加载空的单据实体模型
通过单据内码加载其实体模型
主要就是通过BusinessDataServiceHelper.LoadSingle方法去加载,具体代码如下:
IMetaDataService service = ServiceHelper.GetService<IMetaDataService>(); FormMetadata formMetadata = (FormMetadata)service.Load(base.Context, "ENG_BOM"); BusinessInfo info = formMetadata.BusinessInfo; DynamicObject csbomMaterial = BusinessDataServiceHelper.LoadSingle(this.Context, "2084104", info.GetDynamicObjectType());//获取指定BOM的实体
我这里获取的是单据内码为2084104的BOM,也就是物料清单的实体模型,ENG_BOM是物料清单的唯一标识,2084104是物料清单的内码
获取其分录就是
DynamicObjectCollection bomEntitys = csbomMaterial ["单据体标识"] as DynamicObjectCollection;
2.加载空的单据实体模型
其实就是new一个新的出来
IMetaDataService service = ServiceHelper.GetService<IMetaDataService>(); FormMetadata formMetadata = (FormMetadata)service.Load(base.Context, "ENG_BOM"); var id = this.Context.CurrentOrganizationInfo.ID;//通过Context获取当前组织id DynamicObject material = new DynamicObject(formMetadata.BusinessInfo.GetDynamicObjectType()); 获取其分录就是 DynamicObjectCollection bomEntitys = material ["单据体标识"] as DynamicObjectCollection; DynamicObject entry = new DynamicObject(bomEntitys.DynamicCollectionItemPropertyType);//新增分录 bomEntitys.Add(entry );//将新增的分录添加到单据体内 OperateOption option = null; ISaveService delService = ServiceHelper.GetService<ISaveService>(); //调用保存 IOperationResult result = delService.Save(base.Context, formMetadata.BusinessInfo, new DynamicObject[] { material }, option); if (result.IsSuccess) { this.View.ShowMessage("完成"); } //提交审核也是一样的方法,不过就是Save,Submit和Audit的区别
这里实例化的是物料清单空的实体模型
引用:using Kingdee.BOS.ServiceHelper;
保存之后自动生成主键,我想获取这个主键的话该怎么作呀
通过单据内码加载其实体模型或加载空的单据实体模型
通过单据内码加载其实体模型主要就是通过BusinessDataServiceHelper.LoadSingle方法去加载,具体代码如下: IMetaDataService service = S...
点击下载文档
上一篇:金蝶基础方法介绍说明下一篇:金蝶云星空WebAPI接口说明书_V5.0
本文2024-09-16 17:14:00发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-14387.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章