Strony dla partnerów | Strony dla prasy | Oferty pracy | Mapa stron | English version | Deutsche Version

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.
Dane zestawienia
  • 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);
    • 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.
  • 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