Odoo(OpenERP) 点击(叶)菜单,打开对象视图的流程


Odoo(OpenERP) 点击(叶)菜单,打开对象视图的流程

www.chinamaker.net 2012-08-22 16:39:00 admin

1 今天看了阿飞的一篇日记,其中有一点本来有疑问。
现在理解了,记录下来。
1 菜单(其对象为ir.ui.menu),以 stock.picking 库存交易单据 为例:
  select id,sequence,name from ir_ui_menu where parent_id = 220 order by sequence
  242;1;"Incoming Shipments"   入库单
  243;2;"Internal Moves"       调拨单
  241;3;"Delivery Orders"      出库单
2 菜单在ir_values里定义的action:(res_id字段就是model字段定义对象的id)
  select id,name,key,key2,model,value,res_id,object from ir_values where res_id in (241,242,243)  216;"Menuitem";"action";"tree_but_open";"ir.ui.menu";"ir.actions.act_window,292";241;t
217;"Menuitem";"action";"tree_but_open";"ir.ui.menu";"ir.actions.act_window,293";242;t
218;"Menuitem";"action";"tree_but_open";"ir.ui.menu";"ir.actions.act_window,294";243;t
3 根据上面value字段,查找action
 select id,name,domain,search_view_id,context from ir_act_window where id in (292,293,294)
292;"Delivery Orders";"[('type','=','out')]";469;
293;"Incoming Shipments";"[('type','=','in')]";472;
294;"Internal Moves";"[('type','=','internal')]";473;
以上菜单动作定义的context:{'contact_display': 'partner_address',"search_default_available":1}"
当然ir_act_window里面还定义了stock.picking对象其他的action,大家可以分析。
4 一个对象,有多个action,同时有多个同类型的视图时,需要指定具体的视图
 select act_window_id,sequence,view_mode,view_idfrom ir_act_window_view where act_window_id in (292,293,294)
292;1;"tree";467
292;2;"form";468
292;3;"calendar";
293;1;"tree";470
293;2;"form";471
293;3;"calendar";
294;1;"tree";464
294;2;"form";465
OK,菜单的定义至此就清楚了。OpenERP对象的form视图右侧,常有一些链接或者报表,甚至视图上的button,如果定义了action,这在ir_values表中也有定义。

来源:苏州远鼎官网


相关标签 TAG :  视图  菜单  流程  


苏州远鼎

运用前沿科学技术,苏州远鼎信息技术有限公司以开源管理软件产品为核心,为企业和政府组织提供软件及服务,是OpenERP(Odoo)专业服务商,中国开源管理软件服务市场的领跑者。

Read More

远鼎产品

联系远鼎

  • 苏州工业园区星湖街328号22栋301
  • +86-0512-69361217
  • odoo@chinamaker.net
  • www.chinamaker.net