1

初始化.py

导入product_extension

开放程序.py

    {
    'name': "Product Extension",
    'version': "1.0",
    'author': "iologic",
    'category': "product",
    'depends': ['product'],
    'data': ['product_extension.xml'],
    'demo': [],
    'installable': True,
}

product_extension.py

    from openerp.osv import fields, osv

class product_extension(osv.osv):

  _inherit = "product.product"

  _columns = {
    'product_extension_style_number': fields.integer('Style Number', size=20)
    'product_extension_where_used': fields.char('Where Used', size=20)
    'product_extension_est_yield': fields.integer('Est. Yield', size=20)
    'product_extension_cost_dz': fields.integer('Cost Dz', size=20)
  }

product_extension();

product_extension.xml

    <?xml version="1.0" encoding="utf-8"?>
<openerp>
  <data>
    <record model="ir.ui.view" id="product_extension_product">
        <field name="name">product.normal.form</field>
        <field name="model">product.product</field>
        <field name="inherit_id" ref="product.normal.form" />
        <field name="arch" type="xml">
            <xpath expr="/form/sheet/group[2]/field[@name='partner_id']" position="after">
                <field name="product_extension_style_number" />
            </xpath>
        </field>
    </record>


    <record model="ir.ui.view" id="product_extension_product">
        <field name="name">product.normal.form</field>
        <field name="model">product.product</field>
        <field name="inherit_id" ref="product.normal.form" />
        <field name="arch" type="xml">
            <xpath expr="/form/sheet/group[3]/field[@name='partner_id']" position="after">
                <field name="product_extension_where_used" />
            </xpath>
        </field>
    </record>

    <record model="ir.ui.view" id="product_extension_product">
        <field name="name">product.normal.form</field>
        <field name="model">product.product</field>
        <field name="inherit_id" ref="product.normal.form" />
        <field name="arch" type="xml">
            <xpath expr="/form/sheet/group[4]/field[@name='partner_id']" position="after">
                <field name="product_extension_est_yield" />
            </xpath>
        </field>

       <record model="ir.ui.view" id="product_extension_product">
        <field name="name">product.normal.form</field>
        <field name="model">product.product</field>
        <field name="inherit_id" ref="product.normal.form" />
        <field name="arch" type="xml">
            <xpath expr="/form/sheet/group[5]/field[@name='partner_id']" position="after">
                <field name="product_extension_cost_dz" />
            </xpath>
        </field>



    </record>
  </data>
</openerp>

显示:

ValidateError 验证字段拱时发生错误:视图架构的 XML 无效。尝试所有其他 stackoverflow 解决方案或类似解决方案。但还是卡住了。

4

2 回答 2

1

在您继承且继承的表单中没有名为 partner_id 的字段,必须是 module.xml_id 而不是视图名称

参见例如:

<record model="ir.ui.view" id="product_extension_product">
    <field name="name">product.normal.form</field>
    <field name="model">product.product</field>
    <field name="inherit_id" ref="product.product_normal_form_view" />
    <field name="arch" type="xml">
        <xpath expr="/form/sheet/notebook/pages[@string="Information"/group/group/field[@name='type']" position="after">
            <field name="product_extension_style_number" />
            <field name="product_extension_where_used" />
            <field name="product_extension_est_yield" />
             <field name="product_extension_cost_dz" />
        </xpath>
    </field>
</record
于 2014-02-04T07:15:40.223 回答
0

更新您的 xml 文件,

  <?xml version="1.0" encoding="utf-8"?>
  <openerp>
  <data>
  <record model="ir.ui.view" id="product_extension_product">
    <field name="name">product.normal.form</field>
    <field name="model">product.product</field>
    <field name="inherit_id" ref="product.product_normal_form_view"/>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='partner_id']" position="after">
            <field name="product_extension_style_number"/>
            <field name="product_extension_where_used"/>
            <field name="product_extension_est_yield"/>
            <field name="product_extension_cost_dz"/>
        </xpath>
    </field>
 </record>
 </data>
 </openerp>

希望这会给你想要的输出。不要忘记更新您的模块。

于 2014-02-04T07:06:51.130 回答