2015-03-13 119 views
2

我试图在按钮单击OpenERP时获取menuitem的行为。我实现的按钮打开搜索页面,但它永远不会搜索我创建的菜单项。在搜索menuitem我有产品搜索,位置搜索和员工搜索。但点击打开搜索表单bnut永远不会更新屏幕的左侧部分。为了参考我粘贴图像。按钮单击OpenERP打开菜单项OpenERP

enter image description here 上图是我点击Search Product顶部菜单条上的menuitem时的截图。

enter image description here 而这个截图是当我点击搜索按钮。

我想要按钮的行为,如第一张图片所示。

到目前为止,我的搜索代码:

def search_click (self,cr,uid,ids,context): 
    return { 
      'type': 'ir.actions.act_window', 
      'res_model': 'target model name', 
      'view_type': 'form', 
      'view_mode': 'form', 
} 

我查看XML是:

<?xml version="1.0" ?> 
<openerp> 
    <data> 
<!--########################################Model --> 
    <record id="home_form_view" model="ir.ui.view"> 
       <field name="name">home.form</field> 
       <field name="model">home.form</field>   
       <field eval="7" name="priority"/> 
       <field name="arch" type="xml"> 
        <form string="FORM DATA" version="7.0" create="false" edit="false" save="false">  
        <button colspan="4" string="Search" name="search_click" type="action"/> 
        </form> 
       </field> 
     </record> 



<!--#######################################Dealer--> 
<record id="home_new_action" model="ir.actions.act_window"> 
      <field name="name">Home</field> 
      <field name="res_model">home.form</field> 
      <field name="type">ir.actions.act_window</field> 
      <field name="view_type">form</field> 
      <field name="view_mode">form</field> 
      <field name="res_id">20</field> 
      <field name="view_id" ref="home_form_view"/> 
</record> 
<record id="home_new_form" model="ir.actions.act_window.view"> 
      <field eval="3" name="sequence"/>  
      <field name="view_mode">form</field> 
      <field name="view_id" ref="home_form_view"/>  
      <field name="act_window_id" ref="home_new_action"/> 
</record> 

<!--#######################################--> 

     <menuitem id="myhome" name="Home" sequence="0" /> 
    <menuitem id="myhome_menu" name=" " parent="myhome" /> 
    <menuitem action="home_new_action" id="homeform0_menu" name="Home" parent="myhome_menu"/> 
    </data> 
</openerp> 

请指引我正确的方向,因为我现在一无所知。

问候。

回答

0

尝试以下...

tree_view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'module_name', 'external_id_of_tree_view') 
form_view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'module_name', 'external_id_of_form_view') 

return { 
     'name': ('Execute Your Action'), 
     'view_type': 'form', 
     'res_model': 'model_name', 
     'view_id': False, 
     'context':context, 
     'views': [(tree_view_id and tree_view_id[1] or 0, 'tree'), (form_view_id and form_view_id[1] or 0, 'form')], 
     'type': 'ir.actions.act_window', 
     'target': 'current', 
     'nodestroy': True 
    } 

我希望这有助于。

+0

我只是做了你的建议。请检查我更新的问题... – 2015-03-13 13:22:00

+0

你能否在这里粘贴更多的细节来更好地了解你的情况,请粘贴xml文件的内容。想要展示行动和表单视图。 – 2015-03-14 09:18:32

+0

我已更新我的问题更详细。请检查:) – 2015-03-17 05:35:02