Python插件 - 隐藏信息中心树节点原创
金蝶云社区-抚琴弹唱
抚琴弹唱
12人赞赏了该文章 912次浏览 未经作者许可,禁止转载编辑于2022年04月26日 10:54:07
封面

客户需求: 隐藏信息中心左侧目录树指定节点。

演示代码: 

1. 打开BOSIDE,查找信息中心的信息中心[formId = WF_Worklist_Main]元数据。

参考:修改单据元数据的方法

image.png


2. 注册Python插件

image.png


源码中列出了所有的节点Id,请把不显示的节点Id隐藏。

注意:python的对其使用空格,而不是Tab键


import clr
clr.AddReference("System")
clr.AddReference("System.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")
from Kingdee.BOS import *
from Kingdee.BOS.JSON import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Const import *
from System import *
from System.Collections.Generic import *
from System.Linq import *
def OnQueryProgressValue(e):   
    if e.Key.upper() == "FPROGRESSBAR" and e.Value == 100:
        tree = this.View.GetControl("FTreeView");
        tree.SetNodeVisible("62,23,27,22,31,32,33,34,50,51,52,40,41,42",False);
        ##  重要提示:请把需要显示的节点的NodeId加入即可!!!  
        ##NodeId=10,信息中心 - 任务
        ##NodeId=11,待处理任务
        ##NodeId=12,已处理任务
        ##NodeId=13,我的转发
        ##NodeId=14,我的加签
        ##NodeId=60,信息中心 - 监控消息
        ##NodeId=61,监控消息
        ##NodeId=62,计划消息
        ##NodeId=20,信息中心 - 消息
        ##NodeId=23,普通消息
        ##NodeId=24,流程消息
        ##NodeId=27,发件箱
        ##NodeId=22,废件箱
        ##NodeId=30,信息中心 - 工作流
        ##NodeId=31,草稿箱
        ##NodeId=32,我的收藏
        ##NodeId=33,流程列表
        ##NodeId=34,流程查询
        ##NodeId=35,我的流程
        ##NodeId=50,信息中心 - 业务流
        ##NodeId=51,业务流程-我的收藏
        ##NodeId=52,业务流程-流程列表
        ##NodeId=40,信息中心 - 设置
        ##NodeId=41,信息中心设置
        ##NodeId=42,委托设置


注意:源码做了更改,条件中增加了 and e.Value == 100

C#版请参考 https://vip.kingdee.com/article/297059641153116416

赞 12