Jak chcesz się bawić, to nie mam nic przeciwko temu. Systemu jako takiego nie ma, zarówno planowane godziny pracy jak i rzeczywiste dodawane są przez wyjątki. I raczej nic innego nie da się zastosować. A właśnie w takim sposobie przy wyliczaniu urlopowego jest błąd.
Aldo, kalendarz - jaki by on nie był - nie ma w tym przypadku żadnego znaczenia.
Tak na marginesie - jeśli pracownik jest zatrudniony na 1/2 etatu i ma do przepracowania 84 godziny w miesiącu.
Przepracował jednak 120 godzin i 37 minut - te 36 godzin i 37 minut to nie są nadgodziny, a są liczony jako normalny czas pracy (załączony plik). Przy podglądzie widać czas przepracowany, a jednak przy naliczeniu wypłaty Gratyfikant i tak policzy stawkę godzinową x Nominalny czas pracy, a nie ten Faktycznie przepracowany!
Przy stawce 11 zł/godzinę - Gratyfikant wyliczy podstawę w wysokości 924 zł brutto, a powinno być 1 326,78 zł.
Co do naliczania wynagrodzenia urlopowego, to cały błąd bierze się z faktu, iż Gratyfikant błędnie wylicza stawkę godzinową do wynagrodzenia urlopowego.
W skrócie robi to tak (przykład, żeby się dobrze liczyło):
Stawka godzinowa pracownika - 10 zł
Nominalny czas pracy - 80 h (1/2 etatu)
Realnie przepracowany czas - 40 h
Urlop - 40 godzin
Wyliczenia:Kwota brutto 10 zł x 40 h = 400 zł
Stawka za godzinę wynagrodzenia urlopowego:Jest: Kwota brutto/Nominalny czas pracy = 5 zł
BŁĄD!!!czyli: 40 h x 5 = 200 zł
W sytuacji, kiedy godziny ponadnormatywne są wykorzystane (nominalny 80 godzin – przepracowany rzeczywiście 60 godzin plus 40 godzin urlopu) stawka godzinowa jest zawyżana, bo program ponownie przelicza stawkę godzinową w stosunku do czasu rzeczywiście przepracowanego.
Problemem jest pobieranie podstawy do obliczeń z wartości rzeczywistego czasu pracy, a zakładam, że to można zmienić wyłącznie w algorytmach programu, do których zwykły śmiertelnik nie ma dostępu.