Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
13497 Zobrazení

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
Zrušit
Nejlepší odpověď

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
Zrušit
Autor

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 Odpovědi Zobrazení Aktivita
4
pro 23
18249
5
led 19
4909
0
zář 17
3557
3
čvn 16
9141
1
čvc 25
2072