[英]function field, maximum recursion depth exceeded
為了創建模塊“ hr_payroll_from_timesheet”,我試圖添加一個字段,以便我可以計算如果員工在星期六或星期五工作的小時數。
class hr_timsheet_sheet(osv.osv)
_inherit = 'hr_timsheet_sheet.sheet'
def _woked_days(self,cr,uid,ids,field_name,args=None,context=None)
sheet = self.browse(cr,uid,ids)
for record in sheet:
hr_sup= ["Saturday","Friday"]
count = 0.0
for line in record.period_ids:
day = line.name
year, month, day = (int(x) for x in day.split('-'))
days = datetime.date(year,month,day)
if days.strftime("%A") in hr_sup:
count += line.total_attendance
self.write(cr,uid,ids,{
'weekend' : count,
})
return True
_columns = {
'weekend' : fields.function(_worked_days,method=True,type='float',store=True)
}
我確實嘗試通過添加一個新按鈕並將我的字段更改為'weekend' : float()
來實現此方法,並且效果很好,實際上我想要的是僅在單擊“保存”按鈕時進行所有這些計算。 .. 提前致謝
我喜歡您要執行的操作,timsheet的工資單請嘗試以下操作:
class hr_timsheet_sheet(osv.osv)
_inherit = 'hr_timsheet_sheet.sheet'
def _woked_days(self,cr,uid,ids,weekend,args=None,context=None)
sheet = self.browse(cr,uid,ids)
for record in sheet:
hr_sup= ["Saturday","Friday"]
count = 0.0
for line in record.period_ids:
day = line.name
year, month, day = (int(x) for x in day.split('-'))
days = datetime.date(year,month,day)
if days.strftime("%A") in hr_sup:
count += line.total_attendance
res[record.id] = count
return True
即使保留arg field_name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.