Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
6 Respostas
20911 Visualizações

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
Cancelar
Melhor resposta

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
Cancelar
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

Melhor resposta

 

Avatar
Cancelar
Autor Melhor resposta

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
Cancelar