2016-10-25 15 views
1

ここは私のpythonファイルです。onchange()openerp 7のメソッドが動作していません

from openerp.osv import fields, osv 

select_list=[('SL01','SL01'),('SL02','SL02'),('SL03','SL03')] 
select_sub_list=[('EDS01','EDS01'),('EDS02','EDS02'),('EDS03','EDS03')] 


class laser_products(osv.osv): 

    _inherit = "product.product" 

    _columns = { 
    'laser_product_select': fields.selection(select_list,'Main category'), 
    'laser_sub_product_select': fields.selection(select_sub_list,'Sub category'), 
    'temp':fields.char("Product Code") 
    } 

    def onchange_laser_product_select(self,cr,uid,ids,laser_product_select,context=None): 
    temp=str(laser_product_select) 
    return temp 

laser_products() 

ここは自分のXMLファイルです。

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
    <record model="ir.ui.view" id="laser_product_project"> 
     <field name="name">product.normal.form</field> 
     <field name="model">product.product</field> 
     <field name="inherit_id" ref="product.product_normal_form_view" /> 
     <field name="arch" type="xml"> 

       <field name='list_price' position="after"> 
        <field name="laser_product_select" on_change="onchange_laser_product_select(laser_product_select,context)"/> 
         <field name="laser_sub_product_select" /> 
         <field name="temp"/>   
       </field> 

     </field> 
    </record> 
    </data> 
</openerp> 

私はメインのカテゴリフィールドを選択するが、選択した後、それはそれはあまりにもエラーが表示されない、製品コードフィールドに表示されていないときSL01に、製品コードフィールドを変更します。

私に正しいコードを教えてください。または私が間違っている場所を教えてください。

答えて

0

以下でごのonchange()メソッドを置き換えます

def onchange_laser_product_select(self, cr, uid, ids, laser_product_select, context=None): 

    value = {} 

    if laser_product_select: 
     value['temp'] = str(laser_product_select) 

     #generic formate to update value onchange 
     #value['field_name'] = field_value 

    return {'value': value} 
関連する問題