Odoo,在选股中添加一个新字段

Odoo, Add a new field into stock picking

我试图在模型 stock.picking 中的 move_lines 中添加一个新字段,当然,我继承了模型 stock.picking。是这样尝试的:

<xpath expr="//form/notebook/page/field[@name='move_lines']/form/field[@name='state']" position="after">
    <field name="add_new_field"/>
</xpath>

但我总是出错:

Element '<xpath expr="//form/notebook/page/field[@name='move_lines']/form/field[@name='state']">' cannot be located in parent view

你收到错误是因为它无法找到路径。

简单地将代码放在下面,因为 xpath 应该可以工作:

<xpath="//field[@name='move_lines']/form//field[@name='state']" position="after">

move_lines 定义如下:

<field name="move_lines" string="Stock Move" context="{'address_in_id': partner_id, 'form_view_ref':'stock.view_move_picking_form', 'tree_view_ref':'stock.view_move_picking_tree', 'picking_type': 'internal'}" options='{"reload_on_button": true}'/>

您可以在上下文中看到我们在这里需要的 tree_view_ref 的值。

因此,如果您想将字段添加到树视图中,请尝试以下操作:

<record id="view_move_tree_inherit" model="ir.ui.view">
        <field name="name"> view.move.tree.inherit</field>
        <field name="model">stock.move</field>
        <field name="inherit_id" ref="stock.view_move_picking_tree"/>
        <field name="arch" type="xml">
            <xpath expr="//field[@name='state']" position="after">
                <field name="add_new_field"/>
            </xpath>
        </field>
    </record>