Odoo移动字段

时间:2018-11-23 16:52:00

标签: xml odoo odoo-10 odoo-9 odoo-view

我正在尝试在res.partner下移动一个字段。该字段是“条形码”,位于“笔记本销售与购买”下。我在表单视图中添加了一个字段,但是正如我发现的那样,Odoo仅允许每个视图使用一个字段。下面的代码有效,但不显示任何数据。

<xpath expr="//field[@name='category_id']" position="after">
                <field name="barcode" />
                <field name="pin"

enter image description here

条形码字段似乎为point_of_sale.view_partner_property_form

enter image description here

我在下面尝试过,但没有删除条形码字段

<!--Form -->
<odoo>
    <record id="view_partner_pos_form_extend" model="ir.ui.view">
        <field name="name">res.partner.pos.form.view.extend</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="point_of_sale.view_partner_property_form" />
        <field name="arch" type="xml">
            <xpath expr="//field[@name='barcode']" position="replace">      
            </xpath>
        </field>
    </record> 
</odoo>

2 个答案:

答案 0 :(得分:0)

可能是您的第二个代码不起作用,因为有两个名称相同的字段 barcode和odoo无法区分您要使用XPATH找到的巫婆。

那么为什么要为此创建两个视图,只需将它们保持在同一视图中并确保 删除第一个字段,然后添加第二个字段。

    <!-- remove old field -->
    <xpath expr="//field[@name='barcode']" position="replace"/>
    <!-- add new fields -->
    <xpath expr="//field[@name='category_id']" position="after">
                    <field name="barcode" />
                    <field name="pin"/>
                    ....
    </xpath>

答案 1 :(得分:0)

使用xpath代替使用field表达式。

<field name="barcode" position="replace"/>

示例:

<record id="view_partner_pos_form_extend" model="ir.ui.view">
    <field name="name">res.partner.pos.form.view.extend</field>
    <field name="model">res.partner</field>
    <field name="inherit_id" ref="point_of_sale.view_partner_property_form" />
    <field name="arch" type="xml">
        <!-- Uncomment this line and comment the second line the remove the group -->
        <!--group name="point_of_sale" position="replace"/-->
        <field name="barcode" position='replace'/>
        <field name="category_id" position='after'>
            <field name="barcode"/>
        </field>
    </field>
</record>