一、基本概念
OpenERP 里的对象(Object),也叫Model,相当于我们一般说的类(Class),对象总是对应到数据库里的数据表。例如业务伙伴对象,其对象名是 “res.partner”,对应表名是“res_partner”。表里的一条记录,也就是对象的一个实例,叫资源(Resource)。
ir_model
ir_model_fieldsir_ui_view
ir_ui_menu
ir_act_window
ir_values
Action 的最大玄机在表ir_values 中,如本例,表ir_values 中的字段model 和res_id 表示,本Action的触发菜单是ir_ui_menu 表中的id=104 的菜单项,这正是“请假单”菜单。字段value 表示本Action 触发哪个动作,本例中value=http://www.chinamaker.net/html/2011/study_0831/’ir.action.act_window,93’,表示点击菜单时触发表ir_action_act_window 中的id=93的Action,这个Action 正是“请假单”动作
OE前台操作对应的背后动作
1) 从表ir_ui_menu 中读取菜单信息,显示在画面上2) 当用户点击菜单时,从表ir_values 中找到该菜单对应的Action3) 从表ir_act_window 和ir_act_window_view 中,找到Action 关联的对象和视图4) 从表ir_model 和ir_model_fields 取得对象和字段信息,构建访问对象(本例是x_qingjd)的SQL 文5) 从表ir_ui_view 中取得视图信息,尤其是视图结构XML,根据视图结构XML 构造画面6) 将对象数据显示在视图画面上。
二、工作流
状态图和活动图,是工作流的两个面,前者关注信息变化,后者关注处理步骤,二者是等价的,就是说可以互相转换。从一个状态到另一个状态,或者从一个活动到另一个活动,叫迁移(Transitions),在上述的请假申请工作流中,有3 个迁移。迁移又分出迁移(Outgoing transitions)和入迁移(Incoming transitions),从活动A 到活动B 的迁移,对A 来说,是出迁移,对B 来说,是入迁移。伴随迁移,还有三个概念,一个是触发(Trigger),一个是迁移条件(Condition),还一个是角色(Role)。从A 到B 的迁移,不会无缘无故发生,通常有个触发事件,才会发生迁移,最典型的触发事件是用户按下某个按钮。三、报表OpenERP 报表有两种,一种是基于RML 的,一种是基于XSLT+XML 的。开发RML 报表的时候,需要手工做好RML 文件,RML 文件类似于HTML 文件,它定义报表的显示格式。当我们做好了RML 文件的时候,希望有个工具,能把RML 转换为PDF 文件,预览报表效果。基于XSLT+XML 的报表,在OpenERP的内部处理中,是先把XSLT+XML 转换为RML 文件,再转换成PDF 报表。开发中,我们也需要工具转换XSLT+XML 成RML,再转换成PDF 文件,以预览报表效果。
来源:苏州远鼎官网