2017-04-13 72 views
0

當在odoo中的模型中存在many2one字段時,可以從下拉菜單中選擇「創建和編輯」。這會彈出一個窗口,允許您創建新記錄。我如何預先填充這個新記錄中的一個字段?
在模型 「res.partner」,我有:Oddo 9 - 在many2one字段中的「創建和編輯」選項

name = fields.Char(string="Name",size=32) 
abc_contract_id = fields.Many2one('abc_sale.vendor.contract','Contract') 

在模型 「abc_sale.vendor.contract」,我有:

abc_vendor_id = fields.Many2one('res.partner', 'Vendor',required=True) 

我想預填充的值「名」到「abc_vendor_id」當我點擊「創建和編輯」中abc_contract_id

+0

字段名稱在abc_sale.vendor.contract? – Cherif

+0

不,如上所述,它在模型「res.partner」中。 – Aiswarya

+0

所以你想要從這個視圖傳遞值到第二個視圖到第三個視圖你正在使用什麼樣的繼承 – Cherif

回答

0
<field name='abc_contract_id' context="{'default_abc_vendor_id': active_id}"/> 

添加激活的ID,這樣,導致正確的輸出我。

0

選項,您還可以在默認的操作添加上下文喜歡你many2one模型的形式觀點: -

<record id="custom_id" model="ir.actions.act_window"> 
     <field name="name">Maintenance Requests</field> 
     <field name="res_model">Your_model</field> 
     <field name="view_mode">kanban,tree,form</field> 
     <field name="context">{ 
      'search_default_category_id': [active_id], 
      'default_category_id': active_id, 
      'default_fieldname': 'your_custom_value' or anyfieldname 
     }</field> 
    </record> 
0

要填充abc_vendor_id當您單擊Create and Edit選項abc_contract_id使用context傳遞默認值:

<openerp> 
    <data> 
     <record model="ir.ui.view" id="base_view_partner_form_inherit"> 
      <field name="name">res.partner.form</field> 
      <field name="model">res.partner</field> 
      <field name="type">form</field> 
      <field name="inherit_id" ref="base.view_partner_form"/> 
      <field name="arch" type="xml"> 
       <field name="name" position="after"> 
        <field name="abc_contract_id" context="{'default_abc_vendor_id': id}"/> 
        <field name="id" invisible="True"/> 
       </field> 
      </field> 
     </record> 
    </data> 
</openerp> 
相關問題