2016-08-17 89 views
2

我試圖修改合作伙伴的銷售價目表的默認值(字段property_product_pricelist,標籤銷售&購買,型號res.partner)。看來,這個默認值是通過XML介紹(因爲那場型財產的),添加記錄到ir.property型號:如何修改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_idres.users與ID ,我想公共價目表作爲默認的價格表,否則,我想我(my_default_pricelist)作爲默認的一個創建的價目表。

任何人都可以幫助我嗎?

回答

0

如果你想要條件默認值,你必須移動到Python。

嘗試擴展模型並重新定義字段,但這次使用fnct=compute_method參數。 compute_method是每次都會運行的方法來設置字段的默認值。

property_product_pricelist字段正在使用的property類是function類的擴展。轉到openerp/osv/fields.py,找到function類的定義並查看參數。