Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
1608 Visualizzazioni

Hello 
I need to be able to manually enter the overtime in other input.

Therefore I created a new other input type called OT Hours (Code: OT_HOURS)

 I created a new Salary Rule named Overtime Pay (Code: OT_Pay).
Category Gross.

Python Condition:
result = inputs.OT_HOURS.amount > 0 if 'OT_HOURS' in inputs else False

And the Code:
overtime_rate = 1.5  

ot_hours = inputs.OT_HOURS.amount if 'OT_HOURS' in inputs else 0

hourly_rate = contract.wage / 160 

result = ot_hours * hourly_rate * overtime_rate

When I try to compute the sheet in a payslip, after manually adding OT in other Input, I will get a Error stating: 
- Salary rule: Overtime Pay (OT_PAY)
 - Error: : "0" while evaluating "result = inputs.OT_HOURS.amount > 0 if 'OT_HOURS' in inputs else False"

Can anybody help me? Do you see an obvious error why it doesn't work?

Avatar
Abbandona
Risposta migliore

Hi,

The error message suggests there's an issue with the condition provided. To resolve this, consider using the following code:

OVERTIME_RATE = 1.5

HOURS_IN_MONTH = 160 # Assuming 160 working hours per month


# Get the OT hours from the input (or default to 0)

ot_hours = inputs.get('OT_HOURS', 0).amount


# Calculate the hourly rate based on the contract wage

hourly_rate = contract.wage / HOURS_IN_MONTH

# Compute the overtime pay

result = ot_hours * hourly_rate * OVERTIME_RATE


Hope it helps

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
2
mar 24
1537
0
mar 24
1295
2
feb 24
1772
0
mag 23
1680
2
mar 15
3799