Compiere中的树

在Compiere242(Version:D)中有关树的信息均从数据库相应表中提取。根据表的作用分作如下三类:
1.1.存储树自身信息的表
  该类型的表主要是记录了对树的总体描述的信息。相关的表如下所示:
表名称        字段名称        字段含义

AD_Tree
        Name        树的名称
        Description        对树描述性文字
        TreeType        树类型
  备注:
  1.在该表中,TreeType(树类型)存储的是表AD_REF_LIST中表示树类型的记录Value字段的
值。在Compiere242(Version)中对TreeType(树类型)预置了如下表所示十一种值:
值        含 义        值        含义
MM        表示菜单信息        EV        表示Account ElementValue信息
PR        表示产品信息        BP        表示BusinessPartner信息
OO        表示Organization信息        PJ        表示Project信息
PC        表示产品目录信息        BB        表示BOM信息
SR        表示销售区域信息        MC        表示Camoaign信息
AY        表示Activity信息               
2.TreeType(树类型)决定了装载树时从数据库哪些表提取相关的节点逻辑结构信息和每个节点
的详细信息。目前在Compiere242(Version)中实现了"MM","BP","PR"三种类型的
节点逻辑结构信息,对于每个节点的详细信息,则均已实现;
3.TreeType(树类型)实际表示的是树显示信息的类型。因此,如果需要显示
Compiere242(Version:D)预置类型之外的信息,则需要在表AD_REF_LIST中添加新类型的记
录,同时在表AD_Tree中添加新记录(新记录TreeType的值为表AD_REF_LIST设定的新值);
4.该类型的表在VTree.java中的函数LoadTree()中被调用;
1.2.存储树各节点逻辑结构信息的表
该类型的表主要是记录了树中各节点的逻辑关系信息。相关的表如下所示:
表名称        字段名称        字段含义

AD_TreeNode        Node_ID        树节点的标识码
        Parent_ID        树节点的父节点
        SeqNo        树节点在树中出现的序号

AD_TreeNodeBP        Node_ID        树节点的标识码
        Parent_ID        树节点的父节点
        SeqNo        树节点在树中出现的序号

AD_TreeNodePR        Node_ID        树节点的标识码
        Parent_ID        树节点的父节点
        SeqNo        树节点在树中出现的序号
备注:
1.该类型表与树类型是一一对应的,目前在Compiere242(Version)的代码中已实现的对应关
系如下表所示:
树类型        逻辑结构信息表        树类型        逻辑结构信息表
MM        AD_TreeNode        EV        AD_TreeNodeBP
PR        AD_TreeNodePR               
如果需要实现新的逻辑结构,则要在代码中修改。该部分代码在VTree.java中的函数
LoadNotes()中;
2.该类型表的结构完全一致,可以考虑在将来将这些表进行合并;
1.3.存储树各节点快捷方式信息的表
该类型的表主要是记录了树中节点快捷方式信息。相关的表如下所示:
表名称        字段名称        字段含义
AD_TreeBar        IsActive        树节点的快捷方式是否显示
备注:1.该类型表在VTree.java中的函数LoadNotes()中被使用;
1.4.存储每个节点自身信息的表
该类型主要记录了树中各节点自身的详细信息。相关的表如下所示:
表名称        字段名称        字段含义

AD_Menu        Name        节点在树中显示的名称
         Description        对该节点的描述
         IsSummary        用于判断该节点是否有子节点
        Action        指示双击该节点时执行何种操作
AD_Menu_Trl        Name        该表用于支持多语言显示节点的名称

AD_Org        Name        节点在树中显示的名称
        Description        对该节点的描述
        IsSummary        用于判断该节点是否有子节点
M_Product        同上        同上
M_Product_Category        同上        同上
M_BOM        同上        同上
C_ElementValue        同上        同上
C_BPartner        同上        同上
C_Campaign        同上        同上
C_Project        同上        同上
C_Activity        同上        同上
C_SalesRegion        同上        同上
备注:
1.这些类型表在VTree.java中函数getNodeDetail(int node_ID, int parent_ID, int seqNo,
boolean onBar)被调用;
2.在Compiere242(Version)中对节点的多语言显示只有AD_Menu实现,而其他表均未实现。如
需使其他表支持多语言,则需要在数据库中为各表增加结构如AD_Menu_Trl的多语言辅助
表,同时在代码应作相应的修改。该部分代码在VTree.java的函数PrepareNodeDetail()中
3.在Compiere242(Version)现有的数据库中如下表为实现:M_BOM、C_Campaign
原文地址:https://www.cnblogs.com/byfhd/p/785670.html