电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

【插件开发】通过代码复制物料

来源:金蝶云社区作者:金蝶2024-09-165

【插件开发】通过代码复制物料

private static IOperationResult CopyMaterial(string materialBaseId,IBillView materialView)
{
    // 获取物料的view 初始化
    var materialView = CreateMaterialView();
    // 执行copy操作
    materialView.Model.Copy(materialBaseId);
    // 设置物料的number  
    var modelDataObject = materialView.Model.DataObject;
    
    if (modelDataObject["MaterialBase"] is DynamicObjectCollection modelDataMaterialBase)
    {
       // 可以根据需求来改变物料,比如修改物料编码,属性
       // modelDataObject["Number"] = "Test";
   }

    // 保存
    var operationResult = materialView.Model.Save();
    // 提交
    materialView.InvokeFormOperation(FormOperationEnum.Submit);
    // 审核
    var isAudit = materialView.InvokeFormOperation(FormOperationEnum.Audit);
    // 如果审核成功就返回
    if (isAudit) return operationResult;
    
    operationResult.IsSuccess = false;
    return operationResult;
}

private IBillView CreateMaterialView()
{
    // 读取物料的元数据
    var meta = MetaDataServiceHelper.Load(this.Context, "BD_MATERIAL") as FormMetadata;
    var form = meta.BusinessInfo.GetForm();
    // 创建用于引入数据的单据view
    var type = Type.GetType("Kingdee.BOS.Web.Import.ImportBillView,Kingdee.BOS.Web");
    Debug.Assert(type != null, nameof(type) + " != null");
    var billView = (IDynamicFormViewService) Activator.CreateInstance(type);
    // 开始初始化billView:
    // 创建视图加载参数对象,指定各种参数,如FormId, 视图(LayoutId)等
    var openParam = CreateOpenParameter(meta);
    // 动态领域模型服务提供类,通过此类,构建MVC实例
    var provider = form.GetFormServiceProvider();
    billView.Initialize(openParam, provider);
    return billView as IBillView;
}

/// 元数据
/// 视图加载参数对象
private BillOpenParameter CreateOpenParameter(FormMetadata meta)
{
    Form form = meta.BusinessInfo.GetForm();
    // 指定FormId, LayoutId
    BillOpenParameter openParam = new BillOpenParameter(form.Id, meta.GetLayoutInfo().Id);
    // 数据库上下文
    o

【插件开发】通过代码复制物料

private static IOperationResult CopyMaterial(string materialBaseId,IBillView materialView){ // 获取物料的view 初始化 var mat...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信