2

在注册付款向导中,我添加了 2 个字段。我想根据“move_type”使字段不可见

如果 move_type == 'in_invoice' --> field1 : 不可见

如果 move_type == 'out_invoice' --> field2 : 不可见

<record id="view_account_payment_register_form_inherit_payment_test" model="ir.ui.view">
  <field name="name">account.payment.register.form.inherit.payment.test</field>
  <field name="model">account.payment.register</field>
  <field name="inherit_id" ref="account.view_account_payment_register_form"/>
  <field name="arch" type="xml">
      <xpath expr="//group/field[@name='communication']" position="after">
          <field name="field1"/>
          <field name="field2"/>
       </xpath>
 </field>
</record>

我该怎么做 ?谢谢。

4

2 回答 2

3

您可以使用payment_type,付款类型将Send Money用于供应商账单和Receive Money客户发票。

例子:

<!-- move_type == in_invoice (Vendor Bill) -> payment_type == outbound (Send Money) -->
<field name="field1" attrs="{'invisible': [('payment_type', '=', 'outbound')]}"/>

<!-- move_type == out_invoice (Customer Invoice) -> payment_type == inbound (Receive Money) -->
<field name="field2"  attrs="{'invisible': [('payment_type', '=', 'inbound')]}"/>
于 2021-02-23T07:30:31.310 回答
1

你应该使用attrs属性。

<field name="move_type" invisible="1" /> <!-- you need this for attrs domain work -->
<field name="field1" attrs='{"invisible":[("move_type","=","in_invoice")]}' />
<field name="field2" attrs='{"invisible":[("move_type","=","out_invoice")]}' />

你需要move_type在你的数据模型中有这个才能工作。如果没有,请将其添加为相对字段。您可以在向导代码中这样做

    move_type = fields.String(related="account_move.move_type")
于 2021-02-22T16:33:23.073 回答