Compiere主要AD表的意义
Compiere主要的AD表有:ad_table, ad_column, ad_field, ad_window, ad_tab, ad_referece, ad_ref_list, ad_ref_table ad_sequence, ad_process_para, ad_process等。
Ad_table
表的结构图如下:
该表用来记录业务表,AD表,包括ad_table表本身的一些信息:
Name列一般用来放置在窗口字段中显示的名称。
Description列用来记录表的作用等描述。
Tablename列比较重要,在compiere的源代码中,会取该列的值作为此表的名称,而不是取name列的值。
Isview列用来指明是否是一个视图view,而不是实际的数据库。
Accesslevel列用来指明该表的访问权限,如:client only, client + organization, system only等。
Entitytype列用来指明该表的实体类型。
Ad_window_id列用来指明该表和哪个窗口相关联,也就是在该表的主键列所对应的字段上右击,点zoomvlookup和column后,会弹出哪个窗口。
该表的列的设置,如下图:
 
Ad_column
表的结构图如下:
  该表主要用来记录每个表的每个列的情况,和ad_table表配合使用。
    Columnname列用来记录列的名称,在compiere的源代码会取这个列的值作为列名,而不是name列的值,这点要特别注意。
    Ad_table_id列指明此列是属于哪个表。
        Ad_reference_id列用来指明列在窗口中的编辑器类型。如reference列设为了date类型,则该列在窗口中的字段是一个日期选择框。
    Fieldlength列用来确定字段的最大长度。
    Defaultvalue列用来指定列的默认值。
    Iskey列用来指明列是否是主键列。
    Isparent列用来指明列值是否与上一级tab的同名列相同。
    Ismandatory列用来指明该列是否强制输入值,也就是不能为空。
    Isupdatable列用来指明该列是否可更新,如果为N,则不可修改,只可新建。
    Isidentifier列用来指明该列是否用来描述记录,一般用于VLookup.java中。
    Callout列用来记录该列会调用的Callout子类。
    Ad_process_id列用来指明按钮列会调用的process类。
    Isalwaysupdatable列用来指明该列不管在什么状态下都可编辑。
    Columnsql列用来指明该列调用另外表的某个列,是虚拟列。
   
  该表的列的设置,如下图:
 
Ad_field
表的结构如下图:
 
该表用来记录数据表所对应的在窗口上的字段的设置:
  Name列是字段的名称,也就是窗口上编辑框左边的名称,在修改ad_columnname
列后会同时更新fieldname列值。
Ad_tab_id列指明该字段属于哪个页签(即tab)。
Ad_column_id列用来指明该字段和数据表的哪个列相关联,也就是字段的值保存到数据表的哪个列。
Isdisplayed列用来指明该字段是否在窗口上显示。
Displaylogic列用来指明该字段在窗口上显示的条件。
Displaylength列用来指明该字段在窗口上显示的长度。
Isreadonly列用来指明该字段在窗口上示是否只读。
Seqno列用来指明该字段在窗口上显示的位置。
Issampleline列用来指明该字段是否和前一字段显示在同一行。
Defaultvalue列用设置该字段的默认值。
Ad_window
表的结构如下图:
 
该表用来记录窗口的一些设置:
  Isactive列用来指明该窗口是否可显示。
  Name列记录窗口的名称。