Biuletyn techniczny CDN OPT!MA 15.0. Średnia do urlopu liczona wg daty wypłaty w module CDN OPT!MA Płace i Kadry Plus Copyright 2008 COMARCH SA
Spis treści SPIS TREŚCI... 2 WSTĘP... 3 UWAGI OGÓLNE... 3 DEFINICJA DODATKOWEGO TYPU WYPŁATY... 4 MODYFIKACJA STANDARDOWEGO TYPU NIEOBECNOŚCI URLOP WYPOCZYNKOWY... 6 MODYFIKACJA WYDRUKU KARTY URLOPOWEJ... 7 Średnia do urlopu liczona wg daty wypłaty w module PKP Str. 2
Wstęp W programie CDN OPT!MA średnią do urlopu wypoczynkowego moŝna obliczać zgodnie z datą wypłaty. Są dwa sposoby. I sposób W Konfiguracji / Firma / Płace / Parametry znajduje się parametr Średnia do urlopu wypoczynkowego wg daty wypłaty. Dostępny od wersji 8.5. Działanie: Nie zaznaczony [ ] program oblicza średnią do urlopu, biorąc pod uwagę składniki z okresu poprzedzającego miesiąc rozpoczęcia urlopu. Zaznaczony [v] oznacza obliczanie przeciętnego wynagrodzenia do urlopu zgodnie z datą wypłaty. Przykład - wynagrodzenie za urlop udzielony w maju 2008 zostanie naliczone ze średniej z wypłat: za styczeń (wypłaconej w 02/2008), za luty wypłaconej w 03/2008) i za marzec (wypłaconej w 04/2008). Uwaga: Sposób I oparty na parametrze jest zalecanym rozwiązaniem. Parametr dostępny od wersji 8.5 CDN OPT!MA. II sposób Dostępny tylko w CDN OPT!MA w module Płace i Kadry Plus, który został przedstawiony w poniŝszym dokumencie. Do UŜytkownika naleŝy decyzja, który sposób wybiera. Dokument ten przedstawia opis operacji, w wyniku których moŝna uzyskać efekt liczenia wynagrodzenia urlopowego "według daty". Wynagrodzenie za urlop udzielony w grudniu 2008 liczyć się będzie ze średniej z wypłat: za sierpień (wypłaconej w 9/2008), za wrzesień (wypłaconej w 10/2008) i za październik (wypłaconej w 11/2008). W tym celu naleŝy: - zdefiniować dodatkowy typ wypłaty wykorzystując zaawansowane wzory (algorytm 12), - przedefiniować standardową nieobecność "urlop wypoczynkowy" za pomocą narzędzi z poziomu bazy danych, - zmodyfikować standardowy wydruk karty urlopowej (zmodyfikować filtr uŝywany na tym wydruku). Uwagi ogólne 1. Proponowane rozwiązanie wymaga wersji 8.0 (lub wyŝszej). MoŜna je zastosować w modułach Płace i Kadry Plus systemu CDN OPT!MA oraz Kadry i Płace XL systemu CDN XL. Nie jest natomiast moŝliwa taka konfiguracja w module podstawowym Płace i Kadry. Średnia do urlopu liczona wg daty wypłaty w module PKP Str. 3
2. Liczenie urlopów za pomocą tych funkcji moŝna stosować jedynie u Klientów, u których wszystkie wynagrodzenia są wypłacane z przesunięciem daty wypłaty na następny miesiąc - a więc wypłaty zrealizowane w okresie 3 miesięcy "wg daty" są wypłatami naleŝnymi "za okres" równieŝ 3 miesięcy. Nie naleŝy stosować tego rozwiązania jeśli zdarzają się wyjątki. Taki wyjątek to sytuacja gdy na przestrzeni 3 miesięcy wypłacono wynagrodzenia jedynie za czas przepracowany w ciągu 2 miesięcy, bo np. zmieniono w międzyczasie regulamin wynagrodzeń i przesunięto termin wypłaty z ostatniego dnia miesiąca, na 5-ty dzień następnego miesiąca. Inny wyjątek wykluczający, to wypłacenie w ciągu 3 miesięcy wynagrodzeń dotyczących okresu 4 miesięcy - np. wynagrodzenie zasadnicze płacone na koniec miesiąca, a nadgodziny czy premia na oddzielnej liście płac z przesunięciem na kolejny miesiąc. W przytoczonych przypadkach stosowanie opisanego sposobu liczenia podstawy urlopu moŝe prowadzić do nieprawidłowości - zawyŝenia bądź zaniŝenia wyliczonej stawki za godzinę urlopu. 3. Konieczna jest kontrola operatora w odniesieniu do wypłat naliczonych dla pracowników mających w obrębie jednego miesiąca wpisaną więcej niŝ jedną nieobecność typu "urlop wypoczynkowy". Kwota wyliczonego wzorami dodatku naleŝnego za pierwszy z urlopów w miesiącu będzie poprawnie policzona. Natomiast dodatek za drugą nieobecność tego samego typu w tym samym miesiącu będzie naliczony w kwocie naleŝnej za łączny czas nieobecności urlopowej od początku miesiąca - kwotę tę naleŝy więc ręcznie skorygować w wypłacie. W takim przypadku wyliczoną wzorem kwotę naleŝy podzielić przez łączny czas urlopu od początku miesiąca i pomnoŝyć przez czas urlopu przypadający na drugą z nieobecności - tak wyliczoną kwotę wpisać w polu wartość w elemencie wypłaty. Definicja dodatkowego typu wypłaty - NaleŜy utworzyć dodatkowy typ wypłaty o nazwie np. "Wynagr.urlopowe_WgDaty", który będzie uŝywany zamiast standardowego wynagrodzenia za urlop, wykorzystując w tym celu zaawansowaną konstrukcję algorytmu 12. Wzór wyliczający dodatkowy typ wypłaty sumuje wybrane typy wypłat na przestrzeni 3 miesięcy zaczynając od 2-go miesiąca wstecz (wzorzec płacowy). Tak obliczona wartość jest następnie dzielona przez czas przepracowany w tym samym okresie czasu i mnoŝona przez czas nieobecności "urlopu wypoczynkowego" w bieŝąco rozliczanym okresie. W typie tym naleŝy podmienić pierwszy fragment wzoru, którym powinien być zdefiniowany w danej bazie wzorzec płacowy (opisany poniŝej), funkcji liczących czas przepracowany i czas nieobecności urlopowej w tym wzorze moŝna uŝyć takich samych. Średnia do urlopu liczona wg daty wypłaty w module PKP Str. 4
Rys.1 Przykład konfiguracji typu wypłaty - Wzorzec płacowy - naleŝy zdefiniować wzorzec płacowy typu kwota o nazwie np. "PodstUrlop_WgDaty". Okres sumowania składników powinien obejmować 3 miesiące z zaznaczeniem od 2-go wstecz. Następnie naleŝy zaznaczyć pole "Typy składników wyboru" i wybrać składniki przenosząc je klawiszem strzałki "Dodaj" do pola "Wybrane typy". Lista wybranych w nim typów wypłat musi być dostosowana pod konkretnego Klienta. Trzeba w nim wskazać wszystkie typy wypłat, które mają być uwzględniane w podstawie "dodatku urlopowego". W polu "Wybrane rodzaje" powinna zostać wybrana "Wartość". Średnia do urlopu liczona wg daty wypłaty w module PKP Str. 5
Rys.2 Przykład konstrukcji wzorca płacowego Modyfikacja standardowego typu nieobecności urlop wypoczynkowy Przedefiniowanie standardowej nieobecności "Urlop wypoczynkowy" naleŝy wykonać z poziomu bazy danych za pomocą narzędzi typu Query Analyzer, isql, osql umoŝliwiających modyfikację bazy danych. Przed opisaną poniŝej modyfikacją zalecane jest wykonanie kopii bezpieczeństwa bazy danych oraz ostroŝność podczas wykonywania tej operacji. W standardowym typie nieobecności "Urlop wypoczynkowy" naleŝy zmodyfikować typ wypłaty w polu "Rozliczenie nieobecności". Najwygodniej wykonać to tworząc i uruchamiając skrypt o treści: alter table CDN.TypNieobec disable trigger all update CDN.TypNieobec set TNB_TwpId=xxx where TNB_Standardowy=100 alter table CDN.TypNieobec enable trigger all Gdzie jako xxx podajemy Id typu wypłaty, który ma być podpięty pod nieobecność "Urlop wypoczynkowy". TNB_Standardowy=100 jest to konieczny warunek dla "urlopu wypoczynkowego". Dostępne typy wypłat uzyskamy wydając zapytanie: select * from CDN.TypWyplata Średnia do urlopu liczona wg daty wypłaty w module PKP Str. 6
Po wykonaniu tej modyfikacji naleŝy sprawdzić jej poprawność poprzez podgląd w standardowym typie nieobecności "Urlop wypoczynkowy" nazwy dodatku w polu "Rozliczenie nieobecności". Powinna znajdować się tam nazwa nowego dodatku. W niektórych przypadkach moŝe być uzasadnione przywrócenie sytuacji sprzed modyfikacji. MoŜe to być rezygnacja z takiego sposobu naliczania urlopu lub rozliczanie tym sposobem tylko części osób. Przywrócenie standardowych ustawień programu realizuje skrypt: alter table CDN.TypNieobec disable trigger all update CDN.TypNieobec set TNB_TwpId=yyy where TNB_Standardowy=100 alter table CDN.TypNieobec enable trigger all Gdzie jako yyy podajemy Id standardowego typu wypłaty Wynagrodzenie za czas urlopu W przypadku naliczania urlopu róŝnymi sposobami naleŝy uŝywać wyŝej wymienionych skryptów naprzemiennie. Skrypty takie wówczas najwygodniej jest podpiąć pod funkcje dodatkowe wykonywane z poziomu programu CDN OPT!MA. Modyfikacja wydruku karty urlopowej Modyfikację wydruku karty urlopowej naleŝy wykonać w programie Crystal Reports 9. Modyfikację naleŝy przeprowadzić w celu dodania nowego dodatku na wydruk karty urlopowej. Modyfikacja polega na rozszerzeniu warunku filtrującego o dodatkowy typ wypłaty i pozwala na drukowanie oprócz "zwykłych" wynagrodzeń urlopowych równieŝ niestandardowego dodatku urlopowego liczonego algorytmem innym niŝ 7 (jak urlop wypoczynkowy). Pole filtr dla wydruku standardowego "karty urlopowej": {WypSkladniki.WPS_DataOd} >= {?Od} and {WypSkladniki.WPS_DataOd} <= {?Do} and {TypWyplata.TWP_AlgAlgorytm} = 7 NaleŜy zmodyfikować: {WypSkladniki.WPS_DataOd} >= {?Od} and {WypSkladniki.WPS_DataOd} <= {?Do} and ( {TypWyplata.TWP_AlgAlgorytm} = 7 or {TypWyplata.TWP_TwpId} = xxx ) Gdzie xxx = Id typu wypłaty, który jest uŝywany zamiast standardowego wynagrodzenia za urlop Średnia do urlopu liczona wg daty wypłaty w module PKP Str. 7
Zmodyfikowany standardowy wzorzec wydruku naleŝy podłączyć do wydruków uŝytkownika. Uwaga! Konwersja bazy danych (przy zmianie wersji) powoduje przywrócenie domyślnych ustawień dla standardowych typów nieobecności - trzeba więc później pamiętać, Ŝeby po reinstalacji i skonwertowaniu bazy ponownie uruchomić na bazie skrypt zmieniający typ wypłaty podpięty do standardowej nieobecności "Urlop wypoczynkowy". Średnia do urlopu liczona wg daty wypłaty w module PKP Str. 8