Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
5764 Lượt xem

Actually i need to check whether the employee had taken unpaid leave this month or not in basic calculation. I had used the below function

result = (worked_days.WORK100.number_of_days-worked_days.Unpaid.number_of_days) * (contract.basic / worked_days.WORK100.number_of_days) if (worked_days.Unpaid.number_of_days) != 'False'
else contract.basic

This is not working


Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

I think this code Will help you solve the Problem that you are facing while calculating with Unpaid or with out Unpaid For Payslip.

if not worked_days.Unpaid:
    result=contract.basic
else:
    result=(worked_days.WORK100.number_of_days-worked_days.Unpaid.number_of_days) * (contract.basic / worked_days.WORK100.number_of_days)

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Try this one

result = if (worked_days.Unpaid.number_of_days):  ( (worked_days.WORK100.number_of_days-worked_days.Unpaid.number_of_days) * (contract.basic / worked_days.WORK100.number_of_days)) 
else: (contract.basic)

or 


result = if (worked_days.Unpaid.number_of_days) > 0: ((worked_days.WORK100.number_of_days-worked_days.Unpaid.number_of_days) * (contract.basic / worked_days.WORK100.number_of_days)) 
else: (contract.basic)

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

@subbarao Checked using your rule but same error "Wrong python code defined for salary rule Basic Salary (BASIC)."

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 10 19
3159
0
thg 5 23
3516
2
thg 2 21
4306
1
thg 3 18
4418
2
thg 12 24
2269