Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
4527 Lượt xem



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'}



Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi,

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
3
thg 11 24
4307
2
thg 7 23
3679
2
thg 7 23
2054
0
thg 12 23
1261
1
thg 5 23
3156