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

PLM.二开案例.插件如何调用BOM下推功能

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

PLM.二开案例.插件如何调用BOM下推功能

【应用场景】

如果通过插件代码调用标准的BOM下推功能


【注意事项】

  1. 本文不涉及下推过程的干预,只演示如何调用标准的下推功能。

  2. BOM下推在多组织和单组织下处理方式稍有不同,请按实际情况开发。


【案例演示】

在BOM批量修改功能中,调用下推功能下推批改的所有BOM。


【实现步骤】

<1>编写表单插件和服务插件,代码如下。 

using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.K3.PLM.Business.PlugIn;
using Kingdee.K3.PLM.CFG.Common.BusinessEntity.Manager;
using Kingdee.K3.PLM.CFG.Common.BusinessEntity.Metadata;
using Kingdee.K3.PLM.Common.BusinessEntity;
using Kingdee.K3.PLM.Common.BusinessEntity.Operation;
using Kingdee.K3.PLM.Common.Core.Utility;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;

namespace ISV.BomPushDown.PlugIn
{
    [Description("调用标准下推示例")]
    public class BomPushDownDemo: AbstractPLMDynamicFormPlugIn
    {
        public override void EntryBarItemClick(BarItemClickEventArgs e)
        {
            if (e.BarItemKey.ToUpper() == "TBPUSHDOWN")
            {
                var entity = Model.DataObject["BomBulkEditEntity"] as DynamicObjectCollection;

                //多组织用 --标准下推界面交互
                var allBomIds = entity.Select(x => x["BomObject_Id"]).Distinct().ToArray();
                DynamicFormShowParameter parameter = new DynamicFormShowParameter();
                parameter.FormId = "PLM_CFG_PUSHDOWN";
                parameter.PageId = PLMGuid.NewGuidString().ToString();
                parameter.ParentPageId = this.View.PageId;
                parameter.CustomComplexParams.Add("FObjectListId", allBomIds);
                parameter.CustomComplexParams.Add("OperationCode", "ERPSychronzation");
                parameter.OpenStyle.ShowType = ShowType.NonModal;
                this.View.ShowForm(parameter);

                //单组织用 -- 直接调下推操作
                //理论上多组织可以用(直接默认下推),但是缺少组织维护信息,可能部分业务场景不适用
                //var allBomIds = entity.Select(x => Convert.ToInt64(x["BomObject_Id"])).Distinct().ToArray();
                //var allBomData = DomainObjectManager.AutoLoad(PLMContext, allBomIds);
                //var allBomsByCategory = allBomData.GroupBy(x => Convert.ToInt64(x["CategoryId_Id"]

PLM.二开案例.插件如何调用BOM下推功能

【应用场景】如果通过插件代码调用标准的BOM下推功能【注意事项】本文不涉及下推过程的干预,只演示如何调用标准的下推功能。BOM下推在多组...
点击下载文档文档为doc格式

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

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