2016-09-16 5 views
2

판매 주문보기를 확장하고 2 개의 정적 필드를 추가 할 수 있습니다. 내 코드는 다음과 같다 :판매 주문서에 값 목록 표시

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> 

그리고 결과 :

enter image description here

는 지금은 목록을 [("solde1을"1000가), ("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을 조작하는 것입니다.