تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
5912 أدوات العرض

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


الصورة الرمزية
إهمال
أفضل إجابة

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)

الصورة الرمزية
إهمال
أفضل إجابة

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)

الصورة الرمزية
إهمال
الكاتب أفضل إجابة

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

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
0
أكتوبر 19
3333
0
مايو 23
3714
2
فبراير 21
4431
1
مارس 18
4548
2
ديسمبر 24
2448