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

Hi guys,

I've been trying a few things to add a new field into a Many2one through xpath but I'm not sure why its not working. My model code:

 class aa_test(models.Model):
    _inherit = 'sale.order'
    hoogte = fields.Integer()
    breedte = fields.Integer()
    aantal = fields.Integer()

My view (xml):

 <openerp>
    <data>
        <record id="sale.view_order_form_inherit" model="ir.ui.view">
            <field name="name">sale.order.form.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='order_line']" position="inside">
                    <field name="hoogte"/>
		</xpath>
	    </field>
        </record>
    </data>
</openerp>

en I change the position="inside" to position="before" I will see the field showing up before my One2many, when I put it on inside it wont be added to the One2many. I'm adding to the view under sales > Quotations to the One2many order_line. See this example image to see what I want.

Why is the before working but not the inside? Is my xpath expressions invalid?

Thanks,
Yenthe

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

Hello,

Please check again order_line is not a Many2one field. Its One2many field. This is the reason you cant use position=inside.

Try with this xpath I hope this will help you.

<xpath expr="//tree[@string='Sales Order Lines']/field[@name='name']" position="after">
    <field name="hoogte"/>
</xpath>

 Thanks.

Shamji.



Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks Solanki, great answer! I've updated my question since I indeed named the field invalid. Another sidenode, I had to change my model from sale.order to sale.order.line, since its coming from that model! Thanks :)

Bài viết liên quan Trả lời Lượt xem Hoạt động
4
thg 12 23
18273
5
thg 1 19
4932
0
thg 9 17
3585
3
thg 6 16
9167
1
thg 7 25
2120