如何在OpenERP中将字段值从主视图传递到弹出窗口?

时间:2015-01-21 21:10:23

标签: openerp odoo

我的产品页面包含字段项目编号(default_code),在附图中圈出。我的问题是如何将这个项目编号传递给弹出窗口,当我点击按钮更多并选择"替换所有BOM和#34;时,也会在附加的图片中圈出。我试过添加字段" default_code"在弹出窗口中,但它只显示空框。 谢谢你的帮助!

以下是主要观点:

enter image description here

这是我的XML代码:

<record id="replace_all_in_BOM_form" model="ir.ui.view">
            <field name="name">replace.all.in.BOM.form</field>
            <field name="model">product.template</field>
            <field name="priority" eval="20"/>
            <field name="type">form</field>
            <field name="arch" type="xml">  
                <field name="default_code" string="Item Number" readonly="0" invisible="0" /> 
            </field> 
         </record>

         <record id="action5" model="ir.actions.act_window">
            <field name="name">Replace all in BOM</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.template</field>            
            <field name="view_type">form</field>
            <field name="target">new</field>
            <field name="view_id" ref="replace_all_in_BOM_form"/>
        </record>

1 个答案:

答案 0 :(得分:1)

您需要在该弹出对象中编写default_get

试试这个,

def default_get(self, cr, uid, fields, context=None):
    product_obj = self.pool.get('product.product')
    record_ids = context and context.get('active_ids', []) or []
    res = super(product_product, self).default_get(cr, uid, fields, context=context)

    for product in product_obj.browse(cr, uid, record_ids, context=context):
        if 'default_code' in fields:
            #in 'default_code' is a field name of that pop-up window
            res.update({'default_code': product.default_code})

    return res