2015-01-19 1 views
0

안녕하세요, 베네수엘라 법률에 맞게 급여 모듈을 개발하고 있으며 직원의 일일 임금을 찾는 기능을 만들고 있습니다. 밖으로 잘 모듈은 계산을하지만,하지만;TypeError : on_change_month_wage()는 최대 6 개의 인수 (주어진 7 개)

def on_change_month_wage(self, cr, uid, ids, month_wage, context=None): 
    res = {} 
    if month_wage > 0: 
     res['diary_wage'] = month_wage/30 
    return {'value': res} 

_columns = { 
    'month_wage':fields.float('Salario Mensual', digits=(16,2)), 
    'diary_wage':fields.function(on_change_month_wage, type = 'float', string = 'Salario Diario'), 
} 

내 XML 라인 : I는 로그를 저장할 때이 오류가 얻을 : 이것은 내 코드입니다

: "형식 오류 (감안할 때 7) 대부분의 여섯 개 인수에) on_change_month_wage은 (걸린다"

field name="month_wage" string="Salario Mensual" on_change="on_change_month_wage(month_wage)" 
field name="diary_wage" string="Salario Diario" 

분명히이 게시물을 만들기 위해 < /를 삭제했습니다 ...이 오류를 해결하려면 어떻게해야합니까?

기능 :

답변

0

그것은 on_chnage 예를 들어 서로 다른 인수를 필요하기 때문에 함수로 방법을 onchange를 사용하는 adviceable 아니라 그것을 정의 type = 'float'

def cal_month_wage(self,cr,uid,ids,field_name,arg,context=None): 
    ... 
    ... #here your code logic 

return float_value 


'diary_wage':fields.function(cal_month_wage, type = 'float', string = 'Salario Diario') 

onchange를 말한다 때문에이 기능은 반환 부동입니다 : Onchange 반환 사전 (키 : 값)

def on_change_month_wage(self, cr, uid, ids, month_wage, context=None): 
    ... 
    ... #here your code logic 

return dictionary 

field name="month_wage" string="Salario Mensual" on_change="on_change_month_wage(month_wage)" 

당신은 onchnage와 기능에 대한 기본적인 차이를 가지길 바랍니다. 당신의 문제가 해결 된 후에.