2016-09-16 10 views
2

私は販売注文表示を拡張し、2つの静的フィールドを追加することができます。今、私はリスト[( "solde1"、1000年を持っている販売注文書に値の一覧を表示

enter image description here

class MysaleOrder(models.Model): 
_inherit = 'sale.order' 

rule_name=fields.Char('Règle') 
rule_total = fields.Float('Montant de règle') 
rule_exist=fields.Boolean(default=False) 

とビューのために:

<record id="remise1_view_order_form" model="ir.ui.view"> 
     <field name="name">sale.order.remse1.form</field> 
     <field name="model">sale.order</field> 
     <field name="inherit_id" ref="sale.view_order_form"/> 
     <field name="arch" type="xml"> 
      <field name="amount_untaxed" position="before"> 
       <field name='rule_exist' invisible="1" /> 
       <field name="rule_name" nolabel="1" attrs="{'invisible':[('rule_exist', '!=', True)]}" readonly="1" /> 
       <field name="rule_total" nolabel="1" widget='monetary' attrs="{'invisible':[('rule_exist', '!=', True)]}" readonly="1" options="{'currency_field': 'currency_id'}"></field> 

      </field> 

     </field> 
    </record> 

そしてその結果私のコードは次のようです)、( "solde2"、2000)...]。そのリストは動的なので、生成するフィールドの数はわかりません。 HT価格の上に私は

solde1: 1000 
solde2: 2000 
.... 
Montant HT: value 

答えて

2

フォームビューは本当に簡単にこの種の動的要素を許可しない必要がありますように、私は形で、そのリストを表示するにはどうすればよい

。最大x個のアイテムがあることが分かっていれば、それぞれの要素(field1、field2、field2)にattrs="{'invisible': [('condition','=', True)]}"を使用できます。これにより、approprate条件の下でfield-nのみを表示できます。本当にダイナミックなn要素のために設定されているのはone2Manyまたはmany2Manyフィールドです。

Qwebにはforeachテンプレート機能がありますが、これは通常のフォームビューでは利用できません。

0

AFAIK動的に生成されたビューを実現する唯一の方法は、「fields_view_get」メソッドをオーバーライドして、その場でxmlを操作することです。

関連する問題