Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
3581 Widoki

Hi I am currently stuck in an issue . I am trying to define a salary rule which will calculate the salary of employee on the base of date_to and date_from But in these object. I am only able get days. By using days i can get worked days from them. I am unable to get month year there.

datej = str(payslip.date_to)
datek = str(payslip.date_from)
dj = datej[-2:]
dk = datek[-2:]
working_days=dj-dk
one_daySalary=contract.wage/30
salary=working_days*one_daySalary
result = salary

I am only able to calculate the salary on bases of fixed 30 days month. If you have better idea about that then please help me. Thanks for your time.

Awatar
Odrzuć
Autor Najlepsza odpowiedź

I had found the month in payslip.name .Then i simple tried that is month in that payslip name or not but in this solution we have to force user not to change payslip name pattern . I had changed the payslip name to read only to achieve this

     datej = str(payslip.date_to)
    datek = str(payslip.date_from)
    dj = int(datej[-2:])
    dk = int(datek[-2:])
    working_days=dj - dk
    month=0
    if "January" in payslip.name: month= 31
    if "February" in payslip.name: month= 28
    if "March" in payslip.name: month= 31
    if "April" in payslip.name: month= 30
    if "May" in payslip.name: month= 31
    if "June" in payslip.name: month= 30
    if "July" in payslip.name: month= 31
    if "August" in payslip.name: month= 31
    if "September" in payslip.name: month= 30
    if "October" in payslip.name: month= 31
    if "November" in payslip.name: month= 30
    if "December" in payslip.name: month= 31 
    one_daySalary=contract.wage/month
    salary=one_daySalary*working_days
     result = salary
Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
2
lip 24
14243
1
lip 21
8447
0
kwi 20
4956
1
maj 18
3229
0
kwi 18
3736