【二开】如何发布自定义单据到协同端菜单,并且根据供应商做数据隔离过滤

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

【二开】如何发布自定义单据到协同端菜单,并且根据供应商做数据隔离过滤

【应用场景】

如何发布自定义单据到协同端菜单,并且根据供应商做数据隔离过滤


【实现步骤】

<1>发布菜单基础知识参考:发布单据到运行时 (kingdee.com)


<2>在发布菜单中,注入参数:ISscp,用于判断是否为协同菜单入口:


3、代码中合理利用该参数:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using Kingdee.BOS;
using Kingdee.BOS.Core.BackData;
using Kingdee.BOS.Core.CommonFilter;
using Kingdee.BOS.Core.CommonFilter.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Core.Enums;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.FieldElement;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using Kingdee.BOS.VersionInfor;
using Kingdee.K3.BD.ServiceHelper;

public override void OnInitialize(BOS.Core.DynamicForm.PlugIn.Args.InitializeEventArgs e)
        {
            base.OnInitialize(e);
            if (this.View.ParentFormView != null)
            {

            //在单据的【表单插件或列表插件】的OnInitialize事件中,拿到isscp的值
                isSCP = Convert.ToBoolean(this.View.ParentFormView.OpenParameter.GetCustomParameter("isSCP"));
                if (isSCP)//判断为true后
                {

                //此处获取的是当前登录进来的用户this.Context.UserId,所属的供应商的id,拿到此ID便可以做后续的各种逻辑过滤操作
                    masterid = SCMServiceHelperForBD.GetSupplierMasterIdByUserId(this.Context, this.Context.UserId);
               
                }
            }
        }
        
   --------后续逻辑自行利用获得的供应商ID做过滤或其余的二开逻辑---------


【相关知识】

二开案例.表单插件.获取指定过滤方案的列表数据 (kingdee.com)

二开案例.列表插件.列表查询按高级过滤设置的数据行顺序进行排序 (kingdee.com)

过滤表单.二开案例.设置高级过滤 (kingdee.com)

二开单据实现在供应商协同按供应商数据隔离 (kingdee.com)


【二开】如何发布自定义单据到协同端菜单,并且根据供应商做数据隔离过滤

【应用场景】如何发布自定义单据到协同端菜单,并且根据供应商做数据隔离过滤【实现步骤】<1>发布菜单基础知识参考:发布单据到运行时 (ki...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息