2014-10-31 24 views
0

我已經創建了res.partner形式的按鈕,它調用一個動作。如何將變量傳遞到OpenERP7中的搜索視圖?

該操作打開的其它不同模型的樹視圖,res.partner.link.category(與字段partner_idlink_category_idtypedateobservations)---這個表是res.partner和其他表之間的關係稱爲link.category .---

我也創建了res.partner.link.category的搜索視圖。

我現在需要的是:如果我正在查找合作伙伴,然後單擊按鈕,請參閱res.partner.link.category樹視圖,僅查看具有該單元的記錄partner_id我正在查看點擊的時刻。在這種情況下我如何使用上下文?

如何將該上下文(與partner_id)傳遞到搜索視圖?我嘗試了很多東西,但我無法管理我的目標。

這裏是按鈕的代碼:

<button name="%(res_partner_extended.action_view_history_res_partner_link_category)d" 
    string="View whole history" type="action" context="{'default_partner_id': active_id}"/> 

這是它調用的動作:

<record id="action_view_history_res_partner_link_category" 
    model="ir.actions.act_window"> 
    <field name="name">View whole history</field> 
    <field name="type">ir.actions.act_window</field> 
    <field name="res_model">res.partner.link.category</field> 
    <field name="view_type">form</field> 
    <field name="view_mode">tree</field> 
    <field name="context">{'default_partner_id': context.get('default_partner_id', False)}</field> 
    <field name="view_id" ref="res_partner_link_category_history_tree_view" /> 
    <field name="target">current</field> 
</record> 

樹視圖:

<record id="res_partner_link_category_history_tree_view" model="ir.ui.view"> 
    <field name="name">res.partner.link.category.history.tree</field> 
    <field name="model">res.partner.link.category</field> 
    <field name="type">tree</field> 
    <field name="arch" type="xml"> 
     <tree string="Link categories" create="false"> 
      <field name="partner_id" /> 
      <field name="link_category_id" /> 
      <field name="type" /> 
      <field name="date" /> 
      <field name="observations" /> 
     </tree> 
    </field> 
</record> 

而且搜索視圖:

<record id="res_partner_link_category_history_search_view" model="ir.ui.view"> 
    <field name="name">res.partner.link.category.history.search</field> 
    <field name="model">res.partner.link.category</field> 
    <field name="type">search</field> 
    <field name="arch" type="xml"> 
     <search> 
      <filter name="partner_id" string="Current partner" domain="[('partner_id','=',context.get('default_partner_id', False))]"/> 
     </search> 
    </field> 
</record> 

任何人都可以幫助我嗎?

回答

1

嘗試添加域的action由按鈕運行結束:

<field name="domain">[('partner_id','=',active_id)]</field> 

,如果你想觸發過濾器的默認搜索,然後在按鈕背景下通過過濾器的值名稱默認設置爲true,這將觸發打開窗口時應用的默認fitelr。示例代碼:

<button name="%(res_partner_extended.action_view_history_res_partner_link_category)d" 
    string="View whole history" type="action" context="{'search_default_partner_id': 1}"/> 

希望這會有所幫助。

+0

這工作@firebug!萬分感謝!但是不可能將該域的active_id傳遞給過濾器的域? – forvas 2014-11-03 09:04:30

+0

@forvas:有可能要做,但這很棘手,你可能不得不搭上'def fields_view_get'。 – 2014-11-03 18:04:28

相關問題