Strona 3 z 7

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

PostWysłany: 28.08.2019 12:13
przez najmar11
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

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

PostWysłany: 28.08.2019 14:35
przez gumek
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.

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

PostWysłany: 28.08.2019 15:30
przez najmar11
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.

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

PostWysłany: 28.08.2019 15:50
przez gumek
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')

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

PostWysłany: 28.08.2019 16:05
przez najmar11
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

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

PostWysłany: 28.08.2019 16:12
przez najmar11
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?

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

PostWysłany: 28.08.2019 20:12
przez gumek
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:

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

PostWysłany: 29.08.2019 15:39
przez najmar11
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 ;)

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

PostWysłany: 29.08.2019 23:36
przez gumek
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 ;)

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

PostWysłany: 04.09.2019 14:20
przez najmar11
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)