Skip to Content
Menú
This question has been flagged
6 Respostes
20884 Vistes

hi all,

I have inherited 'sales order' from 'sales' module.

I need to add two extra fields inside 'Order Lines' tab.

.py

class SalesOrderInherit(models.Model):
_inherit = "sale.order"
type = fields.Selection([('appointment', 'Appointment'), ('walkin', 'Walk-In')], string="Type")

I need to add type field inside 'Order Lines' tab.

Which table should i inherit?

How to write <xpath> to add above field.

Avatar
Descartar
Best Answer

Hello Supreeth,


If you want to add in the sale.order then inherit sale.order model. If you want to add in lines then inherit sale.order.line.


Try this x-path for your field in the sale order inside the Order lines tab.

Xml :-

<record id="inherit_sale_order" model="ir.ui.view">

    <field name="name">inherit.sale.order.form.view</field>

    <field name="model">sale.order</field>

    <field name="inherit_id" ref="sale.view_order_form"/>

    <field name="arch" type="xml">

        <xpath expr="/form/sheet/notebook/page[1]/field[@name='note']" position="after">

            <group>

                <field name="type"/>

            </group>

        </xpath>

    </field>

</record>


Hope it works for you.

Thanks,

Avatar
Descartar
Autor

@Jignesh thank for reply. But it is nor working, Error is: ParseError: "Invalid view definition Error details: Element '<xpath expr="/form/sheet[1]/field[@name='product_id']">' cannot be located in parent view

Hello Supreeth, See my updated anwer.

Autor

Thank you Jignesh

Best Answer

 

Avatar
Descartar
Autor Best Answer

Hi, 

Got Solution:

<record id="inherit_sale_order_line" model="ir.ui.view">
<field name="name">inherit.sale.order.line.form.view</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="priority" eval="50" />
<field name="arch" type="xml">
<xpath expr="//field[@name='order_line']/tree/field[2]" position="after">
<field name="type"/>
</xpath>
</field>
</record>
Avatar
Descartar