![]() |
|
![]() |
Problem dwóch dni świątecznych w Gratyfikancie GT
Dotyczy problemu kadrowo-płacowego w grudniu 2006 - dwa dni świąteczne w jednym tygodniu
W związku z ustawą z dnia 18 października 2006 r. (Dz. U. nr 217, poz. 1587) o zmianie ustawy - "Kodeks pracy" informujemy, że gdy w jednym tygodniu wypadają dwa dni świąteczne, za oba dni przysługuje pracownikowi obniżenie wymiaru czasu pracy. Jednakże ustawodawca zdecydował, że wyjątkowo w grudniu 2006 to, że pracownik nie będzie pracował przez dwa dni (25. i 26. grudnia), nie może spowodować obniżenia wynagrodzenia za ten okres.
W związku z tym (według różnych interpretacji) pracownikowi należy się wyrównanie w wysokości wynagrodzenia urlopowego za jeden dzień pracy (liczone dla składników stałych oraz zmiennych z bieżącego miesiąca).
Gratyfikant GT nie przewiduje automatycznego wyliczenia tego wyrównania, gdyż decyzja, co do jego zastosowania leży w rękach użytkownika. Aby jednak Państwu pomóc przygotowaliśmy bezpłatnie dla wszystkich użytkowników Gratyfikanta GT pewne rozwiązanie tego problemu.
Polega ono na wykonaniu następujących czynności:
-
W module Zestawienia należy dodać nowe zestawienie SQL (menu Operacje):
- na pierwszej zakładce wpisać nazwę zestawienia (np.
Grudzień 2006); - w zakładce Zapytanie SQL wkleić (klawiszami CTRL+V) treść zapytania, która znajduje się na końcu niniejszego tekstu.
- na pierwszej zakładce wpisać nazwę zestawienia (np.
- Wyliczyć wszystkie wypłaty za grudzień.
- Uruchomić wcześniej stworzone zestawienie oraz wydrukować jego efekty (proszę zwrócić uwagę na prawidłowe ustawienie parametrów zestawienia).
- Skasować grudniowe wypłaty.
-
W module Składniki płacowe dodać składnik:
-
zakładka pierwsza - Dane podstawowe:
- Nazwa: dowolna (np.
wyrównanie za dzień świąteczny), - Rodzaj: naliczenie,
- Typ: naliczenie/potrącenie ewidencyjne,
- Płatny: pracodawca,
- Cykl: miesięczny,
- Zmienność: stały,
- Wchodzi do podstawy opodatkowania: tak,
- Na wydruku: dowolnie (np.
wyrównanie za dzień świąteczny);
- Nazwa: dowolna (np.
-
zakładka druga - Parametry:
- Wchodzi do podstaw ubezpieczenia: tak, tak, tak,
- Wchodzi do: tak, nie, tak,
- wszystkie pozostałe przełączniki ustawione na nie;
-
zakładka trzecia - Absencje:
- dla wszystkich absencji wszystkie przełączniki ustawione na nie.
-
zakładka pierwsza - Dane podstawowe:
-
W ewidencji naliczeń i potrąceń dla wybranych pracowników dopisać naliczenia w wysokości wykazanej na wydruku zestawienia
SQL:
- uruchomić funkcję Operacje-Operacje zbiorcze-Dodaj naliczenia/potrącenia;
- wybrać pierwszą opcję i poniżej wskazać dodany uprzednio składnik - nacisnąć Dalej;
- wybrać przycisk Dodaj zbiorczo i wybrać Umowy o pracę - nacisnąć Dalej;
- wprowadzić odpowiednie kwoty dla wybranych pracowników - nacisnąć Zakończ, a następnie Zamknij.
- Ponownie wyliczyć wypłaty za grudzień.
Oto treść zapytania SQL:
SELECT pr_Nazwisko + ' ' + pr_Imie AS Pracownik,
CAST(uk_WymiarLicznik AS FLOAT) / uk_WymiarMianownik AS Etat,
(SELECT SUM(W2.wyp_StatGodzPrzepr / 60)
FROM plb_Wyplata W2 INNER JOIN plb_Umowa U2 ON W2.wyp_IdUmowy = U2.up_Id
AND W2.wyp_RozliczaECP = 1 AND U2.up_IdPracownika = U1.up_IdPracownika
INNER JOIN plb_ListaPlac LP2 ON W2.wyp_IdListyPlac = LP2.lp_Id
AND LP2.lp_Miesiac = '20061231'
) AS GodzPrzepr,
SUM(wyps_WartoscFin) AS SumaWartFin,
ROUND(SUM(wyps_WartoscFin) /
(SELECT SUM(W2.wyp_StatGodzPrzepr / 60) FROM plb_Wyplata W2
INNER JOIN plb_Umowa U2 ON W2.wyp_IdUmowy = U2.up_Id
AND W2.wyp_RozliczaECP = 1 AND U2.up_IdPracownika = U1.up_IdPracownika
INNER JOIN plb_ListaPlac LP2 ON W2.wyp_IdListyPlac = LP2.lp_Id
AND LP2.lp_Miesiac = '20061231'),2)
* 8 * uk_WymiarLicznik / uk_WymiarMianownik AS Dodatek
FROM plb_WyplataSkladnik
INNER JOIN plb_Skladnik ON wyps_IdSkladnika = sp_Id AND sp_DoKwotyUrl = 1
AND ((sp_Cykl <> 0
AND {LI:dzienne i godzinowe#1#(wszystkie)#0:Uwzględniaj składniki:1} = 1)
OR {LI:dzienne i godzinowe#1#(wszystkie)#0:Uwzględniaj składniki:1} = 0)
INNER JOIN plb_Wyplata ON wyps_IdWyplaty = wyp_Id
AND ((wyp_RozliczaECP = 1
AND {LI:główne#1#(wszystkie)#0:uwzględniaj wypłaty:0} = 1)
OR {LI:główne#1#(wszystkie)#0:uwzględniaj wypłaty:0} = 0)
INNER JOIN plb_ListaPlac ON wyp_IdListyPlac = lp_Id AND lp_Miesiac = '20061231'
INNER JOIN plb_Umowa U1 ON wyp_IdUmowy = up_Id
INNER JOIN plb_UmowaKalendarz ON uk_IdUmowy = up_Id AND uk_DataOd <= '20061231'
AND (uk_DataDo >= '20061231' OR uk_DataDo IS NULL)
INNER JOIN pr_Pracownik ON up_IdPracownika = pr_Id
GROUP BY up_IdPracownika, pr_Nazwisko + ' ' + pr_Imie, uk_WymiarLicznik,
uk_WymiarMianownik, uk_IdKalendarza













