Ir al contenido
Menú
Se marcó esta pregunta
6 Respuestas
20893 Vistas

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
Mejor respuesta

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

Mejor respuesta

 

Avatar
Descartar
Autor Mejor respuesta

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