0

我在客户发票中创建了一个名为“确认”的按钮。当我单击“确认”按钮时,“状态1”将被“确认”。我想在 'state1'='draft' 时隐藏验证按钮,并在 'state1'='confirmed' 时显示验证按钮。我尝试了下面的代码,但它不起作用。谁能帮我?

<!-- inherit account invoice form -->
    <record id="invoice_form_inheritai" model="ir.ui.view">
        <field name="name">account.invoice.form.inheritai</field>
        <field name="model">account.invoice</field>
        <field name="inherit_id" ref="account.invoice_form"/>
        <field name="arch" type="xml">
            <button name="invoice_print" position="after">
                <field name="state1" invisible="1"/>
                <button name="invoice_check" string="Confirm" type="object"  attrs="{'invisible': [('state1','not in', ['draft'])]}" class="oe_highlight" groups="base.group_user"/>
            </button>
            <button name="invoice_open" position="replace">
                <button name="invoice_open" state="draft" string="Validate" attrs="{'invisible': [('state1','!=', ['confirmed'])]}" groups="base.group_user"/>
            </button>
        </field>
    </record>
4

2 回答 2

1
<button name="invoice_open" string="Validate" attrs="{'invisible': [('state1','not in', ['confirmed']),('state','not in',['draft'])]}" groups="base.group_user"/>

请避免同时使用不可见的属性和状态。

于 2014-02-07T05:31:11.330 回答
0

尝试使用“状态”而不是“状态”。甚至 attr 也不需要。它会自动工作。前任:

<button name="invoice_open" states="confirmed" string="Validate" groups="base.group_user"/>
于 2014-02-06T10:14:57.460 回答