Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
1 Svar
13499 Visninger

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

Avatar
Kassér
Bedste svar

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.



Avatar
Kassér
Forfatter

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 :)

Related Posts Besvarelser Visninger Aktivitet
4
dec. 23
18249
5
jan. 19
4909
0
sep. 17
3557
3
jun. 16
9141
1
jul. 25
2072