Openerp 隐藏“;“确认销售”;Odoo 9中销售订单表单视图中的按钮

Openerp 隐藏“;“确认销售”;Odoo 9中销售订单表单视图中的按钮,openerp,odoo-9,odoo-view,Openerp,Odoo 9,Odoo View,我使用的是Odoo9社区版 销售订单表单中有以下按钮: <button name="action_confirm" states="sent" string="Confirm Sale" class="btn-primary" type="object" context="{'show_sale': True}"/> <button name="action_confirm" states="draft" string="Confirm Sale" type="object"

我使用的是Odoo9社区版

销售订单表单中有以下按钮:

<button name="action_confirm" states="sent" string="Confirm Sale" class="btn-primary" type="object" context="{'show_sale': True}"/>
<button name="action_confirm" states="draft" string="Confirm Sale" type="object" context="{'show_sale': True}"/>

我试图在视图中隐藏这两个按钮。所以我尝试了以下代码

<record model="ir.ui.view" id="hide_so_confirm_button_form">
    <field name="name">hide.so.confirm.button.form</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_order_form"/>
    <field name="arch" type="xml">
        <button name="action_confirm" position="attributes">
            <attribute name="invisible">1</attribute>
        </button>
    </field>
</record>

隐藏.so.confirm.button.form
销售订单
1.
我还尝试了以下属性:

<attribute name="states"></attribute>

在上面的代码中,它只是隐藏/影响第一个按钮

问题:


如何隐藏两个确认销售按钮?

没有xpath的机制只影响第一次点击。这就是为什么必须在这里使用xpath

另一个很好的例子(可能不再适用于Odoo 9)是在
sale.order
表单视图的
name
字段后面设置一个新的
sale.order.line
字段。 表单视图如下所示:


使用您的方法可以尝试在
sale.order
name
字段后面设置新字段(在本例中)。使用xpath将实现这一目标


因此,要直接回答您的问题(编辑):


1.
您可以使用xpath

button[@name='action_confirm'][1]
button[@name='action_confirm'][2]
xpath

button[@name='action_confirm'][1]
button[@name='action_confirm'][2]
希望对奥多12有所帮助 除了@CZoellner的答案外,对于Odoo 12,其在
视图\顺序\表单
上的定义更改为


请注意,在此更改中,不再有
状态
属性。所以,要隐藏这两个按钮,我们可以使用


1.
1.