跳至内容
菜单
此问题已终结
1 回复
8488 查看

I have defined a function to calculate the number of tickets, in which it needs to check whether employee took a one-way ticket or two-way ticket. if one-way, tickets should multiply by 0.5 and for two-way, it should be 1.

this is my code,


def get_no_of_tickets_used(self,cr,uid,data) 

employee_id = data.get('employee_id',False)

tkts = 0

if employee_id:

tkts_obj=self.pool['od.airfare.encashments'].search(cr,uid,[('employee_id','=',employee_id),('state','!=','refused'),('one_way','=',True)])

tkts += len(tkts_obj * 0.5 

tkts_obj=self.pool['od.airfare.encashments'].search(cr,uid,[('employee_id','=',employee_id),('state','!=','refused'),('one_way','=',False)])

tkts += len(tkts_obj * 1)

return tkts



getting an error as

File "/home/shaffaf/Documents/Client_Projects/Pizza/orchid_addons/orchid_pizza/hr/wizard/provision_xls.py", line 375, in get_no_of_tickets_used

tkts += len(tkts_obj * 0.5)

TypeError: can't multiply sequence by non-int of type 'float'


how to fix this issue?

形象
丢弃
最佳答案

Hi,

If this is your original code, there seems some mistakes in it, please update it and see whether you are getting the issue or not.

In this line ,

 tkts += len(tkts_obj * 0.5 

change it to,

tkts += len(tkts_obj) * 0.5 

Then,

change this,

tkts += len(tkts_obj * 1)

to,

tkts += len(tkts_obj) * 1

Thanks

形象
丢弃
编写者

@Niyas raphy thankyou, it's working.

相关帖文 回复 查看 活动
1
5月 21
3405
4
10月 19
9193
1
2月 17
4534
0
1月 17
3915
0
12月 16
2540