在交货订单视图中显示销售订单客户参考字段

时间:2014-11-04 21:43:41

标签: openerp openerp-7 odoo

我正在尝试在“交货单”表单视图中将客户参考显示为只读字段。

我在stock.picking.out模型中添加了一个相关字段:

class stock_picking_out(osv.Model):
    _inherit = "stock.picking.out"
    _columns = {
        'cust_order_ref': fields.related('sale_id', 'client_order_ref', type='char', string='Customer Reference'),
    }

我使用以下块继承了交货订单视图:

<record id="view_stock_picking_out_extended_form" model="ir.ui.view">
        <field name="name">stock.picking.out.extended.form</field>
        <field name="model">stock.picking.out</field>
        <field name="inherit_id" ref="stock.view_picking_out_form"/>
        <field name="arch" type="xml">
            <xpath  expr="//field[@name='origin']" position="after">
                <field name="client_order_ref" />
            </xpath>
        </field>
    </record>

当我安装自定义模块时,我确实看到模型已使用新字段进行更新,并且我还看到新字段显示在交货订单视图中。 但是,即使相关销售订单(sale_id)中有客户订单参考,此字段的值也始终为空。谁能向我解释我在这里做错了什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试使用强制代码,在此对象 stock.picking.in stock.picking.out 中添加任何新字段之前,我们需要将其添加到父类中 stock.picking。

class stock_picking(osv.Model):
    _inherit = 'stock.picking'
    _columns = {
        'cust_order_ref': fields.related('sale_id', 'client_order_ref', type='char', string='Customer Reference'),
    }

class stock_picking_out(osv.Model):
    _inherit = "stock.picking.out"
    _columns = {
        'cust_order_ref': fields.related('sale_id', 'client_order_ref', type='char', string='Customer Reference'),
    }

请将您的.xml文件更改为。

<record id="view_stock_picking_out_extended_form" model="ir.ui.view">
    <field name="name">stock.picking.out.extended.form</field>
    <field name="model">stock.picking.out</field>
    <field name="inherit_id" ref="stock.view_picking_out_form"/>
    <field name="arch" type="xml">
        <xpath  expr="//field[@name='origin']" position="after">
            <field name="cust_order_ref" />
        </xpath>
    </field>
</record>

希望这能解决你的问题。