2016-08-17 7 views
2

파트너의 판매 가격표 기본값 (필드 property_product_pricelist, 탭 판매 & 구입, 모델 res.partner)을 수정하려고합니다. 그것은 (해당 필드 유형 재산이기 때문에)이 기본 값이 ir.property 모델에 레코드를 추가, XML을 통해 소개 된 것으로 보인다 :Odoo 8에서 속성 필드의 기본값을 수정하는 방법은 무엇입니까?

<record id="list0" model="product.pricelist"> 
    <field name="name">Public Pricelist</field> 
    <field name="type">sale</field> 
</record> 
<record id="ver0" model="product.pricelist.version"> 
    <field name="pricelist_id" ref="list0"/> 
    <field name="name">Default Public Pricelist Version</field> 
</record> 
<record id="item0" model="product.pricelist.item"> 
    <field name="price_version_id" ref="ver0"/> 
    <field name="base" ref="list_price"/> 
    <field name="sequence">1000</field> 
    <field name="name">Default Public Pricelist Line</field> 
</record> 

<!-- 
Property 
--> 
<record forcecreate="True" id="property_product_pricelist" model="ir.property"> 
    <field name="name">property_product_pricelist</field> 
    <field name="fields_id" search="[('model','=','res.partner'),('name','=','property_product_pricelist')]"/> 
    <field eval="'product.pricelist,'+str(ref('list0'))" name="value"/> 
</record> 

그래서 그런 것 같아요 (나는 그것을 시도하지 않은) 당신의 경우 이 XML 레코드를 수정, 당신은 예를 들어, 기본값을 변경합니다 :

<record forcecreate="True" id="product.property_product_pricelist" model="ir.property"> 
    <field name="name">property_product_pricelist</field> 
    <field name="fields_id" search="[('model','=','res.partner'),('name','=','property_product_pricelist')]"/> 
    <field eval="'product.pricelist,'+str(ref('my_default_pricelist'))" name="value"/> 
</record> 

문제는 내가 다른 필드 (user_id)에 따라 다른 기본값을 소개 할 것입니다. user_id이 ID 와 res.users 경우 내 말은, 나는 그렇지 않으면 나는 기본적으로 하나의 나를 (my_default_pricelist)에 의해 생성 된 가격표를 원하는 기본 가격표와 공공 가격표를 원한다.

아무도 도와 줄 수 있습니까?

답변

0

조건부 기본값을 원하면 Python으로 이동해야합니다.

모델을 확장하고 필드를 재정의하려고 시도하지만 이번에는 fnct=compute_method 인수를 사용하십시오. compute_method은 매번 필드의 기본값을 설정하기 위해 실행되는 방법입니다.

property_product_pricelist 필드가 사용하는 property 클래스는 function 클래스의 확장입니다. openerp/osv/fields.py으로 이동하여 function 클래스의 정의를 찾고 매개 변수를 살펴보십시오.