Funkcja pobierająca ilość dni świątecznych

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez najmar11 » 28.08.2019 12:13

gumek napisał(a):Dni kalendarzowe DM_W=Dkal()
Dni absencji w delegacji N_DABS= (DM_W-Dnikal(,,.T.))+(DniAbs('?234ABCEFGHIJKLMNOPQRSTUWXYZ',,.T.))
Dni diety to różnica między tymi składnikami.
Można zrobić automat do przeliczania wg kursu itd. Kompletną listę dla diet zagranicznych.
Powodzenia.


Mam to właśnie tak zrobione i formuła:
N_DABS= (DM_W-Dnikal(,,.T.))+(DniAbs('?234ABCEFGHIJKLMNOPQRSTUWXYZ',,.T.))

dla podanego przeze mnie przykładu daje wynik 10 dni

Czyli wg tej formuły pracownik w lipcu, przebywając na urlopie od 8.07.2019 do 19.07.2019 ma 10 dni absencji w Lipcu.
W dniach roboczych TAK, ale w dniach kalendarzowych to nie prawda bo ma 12 dni absencji.

W efekcie pracownik w lipcu od wynagrodzenia ma odejmowaną zawyżoną ilość diet:
31dni lipca - 10 dni absencji = 21 dni * 49 EUR = 1029 EUR diety

a powinien mieć:
31 dni lipca - 12 dni absencji = 19 dni * 49 EUR = 931 EUR diety

Powyższą formułę próbowałem zmodyfikować tak:
N_DABS= (DM_W-Dnikal(,,.T.))+(DniAbs('?234ABCEFGHIJKLMNOPQRSTUWXYZ',,.T.))+DniAbsW('W',.T.)

ale nic z tego bo DniAbsW w tym przypadku zwraca 0 zamiast 2
najmar11
 
Postów: 122
Dołączył: 14.10.2009 11:34

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez gumek » 28.08.2019 14:35

Rozwiązaniem na szybko jest utworzenie kodu np WD czyli urlop w delegacji zagranicznej
w SW ustaw W jak wszystkie i masz po problemie. SW=W; URL. T; rn= UW; grupa=U, auto=T
W liście dla delegacji dodaj nowy kod do funkcji
DM_W-(Dnikal(,,.T.))+(DniAbs('?234ABCEFGHIJKLMNOPQRSTUWXYZ;WD',,.T.))
Z resztą sobie poradzisz?

Pytaj.
gumek
 
Postów: 118
Dołączył: 22.04.2008 09:55

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez najmar11 » 28.08.2019 15:30

gumek napisał(a):Rozwiązaniem na szybko jest utworzenie kodu np WD czyli urlop w delegacji zagranicznej
w SW ustaw W jak wszystkie i masz po problemie. SW=W; URL. T; rn= UW; grupa=U, auto=T
W liście dla delegacji dodaj nowy kod do funkcji
DM_W-(Dnikal(,,.T.))+(DniAbs('?234ABCEFGHIJKLMNOPQRSTUWXYZ;WD',,.T.))
Z resztą sobie poradzisz?

Pytaj.


Już tak kombinowałem i obliczeniowo na liście płac jest OK, ale pojawiają się inne problemy - z limitu urlopów ściąga pracownikowi za dużo dni.
Powinno mu zdjąć 10 a ściąga 12 dni.
Ewidencje urlopów musiałbym prowadzić na boku gdzie indziej - masa niepotrzebnej roboty i możliwych błędów.
najmar11
 
Postów: 122
Dołączył: 14.10.2009 11:34

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez gumek » 28.08.2019 15:50

nie powinno, bo rozlicza w godzinach. to osobny kod, nie zmiana na istniejącym kodzie.
Urlopy w Polsce i NIemczech nie moga się pokrywać.Dlatego trzeba do normalnej listy jeśli tam liczysz urlopy dołozyć kod WD w godzinach.
Nie wiem jak to masz zorganizowane.
Do definicji dni urlopu dodaj WD np
iif(KrtPrAbs('VW;WD')=0,GdzAbs('VW;WD'),KrtPrAbs('VW;WD')) o ile korzystasz z kart.
Jeśli nie to pomiń warunki GdzAbs('VW;WD')
gumek
 
Postów: 118
Dołączył: 22.04.2008 09:55

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez najmar11 » 28.08.2019 16:05

gumek napisał(a):nie powinno, bo rozlicza w godzinach. to osobny kod, nie zmiana na istniejącym kodzie.


nie patrzeć na dni tylko na godziny, hmmm no jest to jakiś trop...

korzystałem do tej pory tylko z Zestawienia absencji pod guzikiem "Zestaw" a tam jest tylko w dniach.
Wszystkie wydruki i raporty mam oparte o tabelę "Zestawienie absencji", ale chyba da się je poprzerabiać...
trochę pracy i może będzie OK

dzięki za podpowiedź

PS
(a może Pan Piotr przerobiłby funkcję DniAbsW tak by podawała dni wolne w absencji niezależnie od tego czy absencja jest rozliczana w dniach roboczych czy kalendarzowych?)
taka mała prośba do autora :D
najmar11
 
Postów: 122
Dołączył: 14.10.2009 11:34

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez najmar11 » 28.08.2019 16:12

gumek napisał(a):...
Do definicji dni urlopu dodaj WD np
iif(KrtPrAbs('VW;WD')=0,GdzAbs('VW;WD'),KrtPrAbs('VW;WD')) o ile korzystasz z kart.
Jeśli nie to pomiń warunki GdzAbs('VW;WD')


z kart nie korzystam

gdzie tą formułę wpisać i co ona daje?
najmar11
 
Postów: 122
Dołączył: 14.10.2009 11:34

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez gumek » 28.08.2019 20:12

Godziny absencji do wyliczenia urlopu, czyli liczbę godzin urlopowych.
Poprzednia w liście delegacji to co chciałeś. Masz komplet.
Zauważ, że kod dwuliterowy jest oddzielany średnikiem.
To co pod guzikiem ZESTAW jest dodatkiem nieistotnym dla funkcji płacowych.
Urlopy masz rozliczane pod URLOP w ABSENCJI. Funkcja GdzAbs() pobiera dane z pola ABSENCJA->ILGDZ
a to pole jest edytowalne w przeciwieństwie do pola ABSENCJA->ILDNI.
Urlop rozlicza się godzinowo chyba od 2004 roku więc nie kręćmy się wokół dni urlopu.
Do lity DELEGACJI użyj tego co napisałem i będzie OK.
Spadam teraz na browar. Jutro wieczorkiem looknę, czy masz OK.
Dziś 28.08 a nikt nie otwarł tematu PIT-0.
Czyżby wszyscy uznali, że to takie proste? Hmmm. :lol:
gumek
 
Postów: 118
Dołączył: 22.04.2008 09:55

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez najmar11 » 29.08.2019 15:39

gumek napisał(a):Godziny absencji do wyliczenia urlopu, czyli liczbę godzin urlopowych.
Poprzednia w liście delegacji to co chciałeś. Masz komplet.
Zauważ, że kod dwuliterowy jest oddzielany średnikiem.
To co pod guzikiem ZESTAW jest dodatkiem nieistotnym dla funkcji płacowych.
Urlopy masz rozliczane pod URLOP w ABSENCJI. Funkcja GdzAbs() pobiera dane z pola ABSENCJA->ILGDZ
a to pole jest edytowalne w przeciwieństwie do pola ABSENCJA->ILDNI.
Urlop rozlicza się godzinowo chyba od 2004 roku więc nie kręćmy się wokół dni urlopu.
Do lity DELEGACJI użyj tego co napisałem i będzie OK.
Spadam teraz na browar. Jutro wieczorkiem looknę, czy masz OK.
Dziś 28.08 a nikt nie otwarł tematu PIT-0.
Czyżby wszyscy uznali, że to takie proste? Hmmm. :lol:


To, że urlop jest rozliczany godzinowo to wiadomo.
U nas jest o tyle prosta sprawa, że wszyscy maja całe etaty i 1 dzień urlopu = 8 godzin, dlatego wygodniej mi było korzystać z tego co jest pod guzikiem ZESTAW a potrzebowałem tego tylko do tego żeby wiedzieć ile pracownikowi zostało limitu urlopu w dniach.

Zrobiłem nową absensję z danymi jak podałeś i wygląda, że jest OK

Płace za sierpień będę naliczał w przyszłym tygodniu to zrobię je już po nowemu i się zobaczy czy wszystko działa.

Dzięki za pomoc, jednego browara masz odemnie ;)
najmar11
 
Postów: 122
Dołączył: 14.10.2009 11:34

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez gumek » 29.08.2019 23:36

Guzik urlopy w ABSENCJI. W HISTORII uzupełnij dane.
Program musi mieć poprawne dane wejściowe żeby znać wymiar i wykorzystany urlop u innego pracodawcy. Rozliczy Ci urlop na bieżąco.
Do tego raport definiowany i masz urlopy z głowy.
Rzuć okiem. Dzięki za browar ;)
gumek
 
Postów: 118
Dołączył: 22.04.2008 09:55

Re: Funkcja pobierająca ilość dni świątecznych

Postprzez najmar11 » 04.09.2019 14:20

gumek napisał(a):Guzik urlopy w ABSENCJI. W HISTORII uzupełnij dane.
Program musi mieć poprawne dane wejściowe żeby znać wymiar i wykorzystany urlop u innego pracodawcy. Rozliczy Ci urlop na bieżąco.
Do tego raport definiowany i masz urlopy z głowy.
Rzuć okiem. Dzięki za browar ;)


@gumek jeśli pozwolisz to chciałbym pociągnąć dalej temat urlopów

Próbuję rozliczyć urlop dla jednej osoby i program coś dziwnie nalicza przysługujący jej wymiar urlopu.
Uzupełniłem historię zatrudnienia, także staż urlopowy ma OK.

Osoba zatrudniona na 4/5 etatu z ponad 10 letnim stażem urlopowym i dla niej wymiar powinien wynosić: 26 dni *4/5 = 20,8 zaokr -> 21 dni * 8 godz. = 168 godz.

A zobacz na załączonym screenie, że w kolumnie z wyliczonym przez Kadrowca limitem urlopu w jednych latach nalicza jej 21 dni (168godz.) a w innych 20dni (160 godz.)

Od czego to zależy?
Co roku powinna mieć przecież tyle samo czyli 21 dni
Jak ręczne poprawię, to nie reaguje, tzn nie przelicza odpowiednio godzin.

To jakiś błąd w Kadrusiu?

(na lata 2006 i 2007 nie patrz bo tam ma inne wym. etatu)
Załączniki
Screenshot_20190904_140344.png
najmar11
 
Postów: 122
Dołączył: 14.10.2009 11:34

PoprzedniaNastępna

Powróć do Kadry

Kto jest online

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 3 gości

cron