在OpenERP中覆盖包含子视图或相关字段的视图的正确方法是什么?

时间:2014-08-25 22:41:26

标签: inheritance module openerp openerp-7

我正准备编写我的第一个OpenERP模块。我想将一些字段添加到产品表单视图“采购”选项卡(视图ID 233)上显示的列表中。如果您查看该屏幕,则会在底部显示一个名为“供应商”的列表。默认情况下,此列表包含“供应商”,“交货时间”和“最小数量”的标题。我想在“产品名称”和“产品代码”中添加。

如果我从调试菜单进入“管理视图”,看起来列表来自此代码:

<view view_id=589>
  <group>
    <separator string='Suppliers'>
    <field name='seller_ids'>

该位的XML似乎位于此位的addons/purchase/purchase_view.xml,从第554行开始:

    <record id="view_product_supplier_inherit" model="ir.ui.view">
        <field name="name">product.normal.supplier.form.inherit</field>
        <field name="model">product.product</field>
        <field name="inherit_id" ref="product.product_normal_form_view"/>
        <field name="arch" type="xml">
            <div name="options" position="inside">
                <field name="purchase_ok"/>
                <label for="purchase_ok"/>
            </div>
            <group name="procurement" position="after">
                 <separator string="Suppliers"/>
                 <field name="seller_ids" context="{'uom_id': uom_id}"/>
            </group>
        </field>
    </record>

我原以为这是我需要继承和覆盖的视图代码,但现在我很困惑。列出的唯一字段是“seller_ids”,但在浏览器中查看时,列表会显示“供应商”,“交货时间”和“最小数量”。这些额外字段在哪里定义,以及如何从'product.supplierinfo'中添加字段'product_name'和'product_code'?

1 个答案:

答案 0 :(得分:0)

字段在其他视图中定义,这些视图也继承product.product_normal_form_view。 并且当显示该视图时,它们都应用于其父视图之上。

确保您的模块依赖于另一个添加字段的模块,您可以使用position =“after”属性将字段放在正确的位置