Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged



I,m trying to add field in sale order
this is code of my class:
from odoo import models , fields,api,_
class SaleOrder(models.Model):
_name='sale.order'
_inherit = 'sale.order'
warehouse_id=fields.Many2one("stock.warehouse")

and i inherit the view by this code and i added the field: 

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="view_sale_form_inherit" model="ir\.ui\.view\"\>
\ \ \ \ \ \ \ \ \ \ \ \ \<field\ name=\"name\"\>sale.order.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='sale_order_template_id']" position="after">
<field name="warehouse_id"/>
</xpath>
</field>
</record>
</data>
</odoo>


but the error occur:

Element '' cannot be located in parent view

View error context:
{'file': 'd:\\odoo16\\server\\odoo\\custom\\asmaa\\views\\sale_order.xml',
 'line': 2,
 'name': 'sale.order.inherit',
 'view': ir.ui.view(1622,),
 'view.model': 'sale.order',
 'view.parent': ir.ui.view(795,),
 'xmlid': 'view_sale_form_inherit'}



Avatar
Opusti
Best Answer

Hi,
The field sale_order_template_id is defined in view sale_management.sale_order_form_quote, not in sale.view_order_form

So you can modify your code by inheriting sale_management.sale_order_form_quote and define your field as below


Hope this will help you

Thanks

Avatar
Opusti
Best Answer

Hi,

because sale_order_template_id is presented in sale_management.sale_order_form_quote  view not in sale.view_order_form

Avatar
Opusti
Best Answer

Hi,

Try like below code.

class SaleOrder(models.Model):
_inherit = 'sale.order'
warehouse_id = fields.Many2one("stock.warehouse")

<?xml version="1.0"?>
<odoo>

    <record id="view_sale_order_form" model="ir.ui.view">
        <field name="name">view.sale.order.form</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_order_form"/>
        <field name="arch" type="xml">
            <xpath expr="//field[@name='validity_date']" position="after">
                <field name="warehouse_id"/>

            </xpath>
        </field>
    </record>

</odoo>


Make sure that you give the sales module as it depends on your manifest file.

Regards

Avatar
Opusti
Related Posts Odgovori Prikazi Aktivnost
3
nov. 24
4306
2
jul. 23
3673
2
jul. 23
2053
0
dec. 23
1260
1
maj 23
3152