`
liwenshui322
  • 浏览: 511292 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Openbravo3.0 怎样新建一个窗口

 
阅读更多

   一.需求背景

 

   假设我们在开发一个人力资源模块,现在需要一个窗口来管理员工的工资信息。这里面涉及到员工信息与工资信息。OB里面已经有管理员工信息的窗口了,只需要把ISEMPLOYEE勾选上,这个客户信息就变成了员工信息了。我们只需要新建一张表来保存对应的工资信息就好了。

 

      二.具体步骤

     

     1. 创建一个模块

      Openbravo的ERP的2.50推出了模块化概念模块化使开发人员能够开发,打包和分发他们的工作。对于Openbravo ERP的用户而言模块化设计使得他们可以下载,安装更新自己想要的模块 

 

      a.   主菜单:Application Dictionary ---> Module  如下图所示建立一个模块

 


       b. 切到这个模块下面的3个子页签:Dependency,DB Prefix,Data Package。依次如下设置:

 

Dependency(模块依赖,所有新增的模块都依赖于Core模块)

 

DB Prefix(这个模块对应的数据库表的表前缀,表前缀必须全局唯一,在你将你这个模块注册到OB的Central  Repository的时候,会检查它的唯一性,避免你开发的模块的表与其他开发者开发的表混淆。另外注册的时候,也会检查你模块的java package是否重复)


 
 Data Package(存放着与数据库中表对应的对象,也就是我们常说的pojo类. 在src-gen文件夹下)


 

 

      2. 创建对应的表

 

    a. 利用PLSQL登陆上oracle数据库,在里面新建一张表。(如果你用的是大象数据库,自己想办法) SQL语句如下:

 

-- Create table
create table LWE_SALARY
(
  LWE_SALARY_ID VARCHAR2(32) not null,
  AD_CLIENT_ID  VARCHAR2(32) not null,
  AD_ORG_ID     VARCHAR2(32) not null,
  ISACTIVE      CHAR(1) default 'Y' not null,
  CREATED       DATE default SYSDATE not null,
  CREATEDBY     VARCHAR2(32) not null,
  UPDATED       DATE default SYSDATE not null,
  UPDATEDBY     VARCHAR2(32) not null,
  C_BPARTNER_ID VARCHAR2(32) not null,
  AMOUNT        NUMBER not null,
  C_CURRENCY_ID VARCHAR2(32) not null,
  VALIDFROM     DATE not null
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table LWE_SALARY
  add constraint LWE_SALARY_KEY primary key (LWE_SALARY_ID)
  using index 
  tablespace USERS
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
alter table LWE_SALARY
  add constraint LWE_SALARY_AD_CLIENT foreign key (AD_CLIENT_ID)
  references AD_CLIENT (AD_CLIENT_ID);
alter table LWE_SALARY
  add constraint LWE_SALARY_AD_ORG foreign key (AD_ORG_ID)
  references AD_ORG (AD_ORG_ID);
alter table LWE_SALARY
  add constraint LWE_SALARY_C_BPARTNER foreign key (C_BPARTNER_ID)
  references C_BPARTNER (C_BPARTNER_ID);
alter table LWE_SALARY
  add constraint LWE_SALARY_C_CURRENCY foreign key (C_CURRENCY_ID)
  references C_CURRENCY (C_CURRENCY_ID);

 

 

    b. 在应用字典注册这张表

   主菜单下面: Application Dictionary ---> Tables and Columns

  

   

    Data Package : 选择模块里面定义的那个Data Package

    Name: 用于在程序中定位到这张表的唯一标志

    DB Table Name:对应数据库中表的名称

    Java Class Name:这张表对应的pojo类的名称。(在src-gen文件夹定义的那个Data Package下面能够找到这个类)

    Data Access Level:数据访问级别,这里可以设置是集团访问,公司访问还是 系统才能访问等等。

    Window:这里不需要填,还没有定义对应的窗口。(这个得定义好了窗口回来填写)

 

   b. 点击保存之后,点击 Create columns from DB 这个按钮,会自动生成对应的列。

 

   c. 主菜单:Application Dictionary ---> Synchronize Terminology  这个程序将会自动将系统里面已经定义好的一些通用信息(比如,集团,组织机构,是否有效,创建人,创建日期等等)与你这个表里面的通用信息挂上钩,方便今后维护。

 

   d. 那些自动生成的列有一些需要调整,具体调整如下: 

  • Amount: Reference = Amount, Length = 10
  • C_BPartner_ID: Reference = Search, Reference Search Key = Business Partner, Length = 32, Link To Parent Column = Y
  • Valid From: used as Record Identifier = Y
  • Amount: used as Record Identifier = Y

 

 

  

    3. 创建窗口

 

    a. 主菜单:Application Dictionary ---> Windows, Tabs and Fields  如下图所示:

     

 

   b. 切到Tab子页签,点击新建,如下图所示

 

 

   c. 保存之后,点击Copy Tab Fields 按钮,选择Business Partner-Business Partner 这一项。点击OK。

 

 

 

 d. 仍然在Tab页签,点击新建,创建第二个页签

   

 

    Module:选择我们上面创建的那个模块

    Name:页签名称

    Table:对应在应用字典注册好的表

   

    e. 保存之后,点击 Create Fields 按钮,即可自动创建字段。当然这些字段可能不符合要求,你可以进行隐藏或者布局之类的,就不细讲了。

 

      f. 将窗口与在应用字典定义的表对应起来,也就是第2步的b步骤,将window字段填上我们刚刚定义好的窗口。

 

 

    4. 新建菜单

   

     a. 主菜单:General Setup ---> Application ---> Menu ,点击新建

 

    

 

     Module: 选择我们定义的模块

     window:选择我们定义好的窗口

 

     b. 保存之后,点击工具条上 如下按钮  。切换到菜单树形结构,拖动刚刚新建的菜单到想要的位置。

 

     5. 编译

    

     a. 编译之前最好把tomcat停掉。

     b. 在eclipse里面选中 eclipse.compile.launch文件点击右键 Run As -->Eclipse Compile , 在弹出的对话框中输入窗口的名称。如下图所示

    

 

   如果编译成功,重新编译整个项目,然后启动tomcat应该就可以使用了!

 

   PS: 编译过程中,可能会报ORG_Y参数错误。是一个自动生成的xsql文件里面生成的sql语句有问题,具体SQL片断是 C_Bpartner.IsEmployee="Y",这个地方应该是单引号。重新编译的时候,等它生成这个xsql文件之后,立刻将修改好的xsql文件替换掉。速度要快,不然又会报错。

 

  • 大小: 47.5 KB
  • 大小: 38.8 KB
  • 大小: 15 KB
  • 大小: 34.7 KB
  • 大小: 63.5 KB
  • 大小: 33 KB
  • 大小: 44.9 KB
  • 大小: 41.7 KB
  • 大小: 28.9 KB
  • 大小: 1.2 KB
  • 大小: 15.8 KB
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics