Funkcje programu - Instrukcja obsługi programu R2płatnik, R2płatnikPRO, R2płatnikSBO RESET2 Oprogramowanie
Strona używa plików cookies (tzw. ciasteczka) do przechowywania i uzyskiwania dostępu do tej informacji w celach funkcjonalnych, statystycznych i reklamowych.
Użytkownik wyraża zgodę oraz określa warunki przechowywania lub uzyskiwania dostępu do informacji zawartej w plikach cookies za pomocą ustawień przeglądarki.
Dowiedz się więcej odwiedzając strony:

Polityka Prywatności    Regulamin sklepu      Jak wyłączyć cookies?

Przejdź do serwisu

Instrukcja obsługi R2płatnik



Funkcje programu

Funkcje programu

Funkcje API

procedure CreatePolaSys;stdcall;

Tworzy pola systemowe dla programu.

Parametry

Brak

Uwagi

Tworzy pola systemowe dla obliczeń płacowych w programie. Przed przeliczaniem pozycji list płac należy wywołać tę procedurę.


procedure FreePolaSys;stdcall;

Zwalnia pola systemowe oraz przydzieloną im pamięć.


function GetKartaPracyParams(Par:integer):integer;stdcall;

Podaje parametry karty pracy.

Parametry

  • Par - numer parametru

Zwracane wartości

Zwraca odpowiednią wartość w zależności od podanego parametru:

  • 1 - ilość wierszy karty pracy (oprócz standardowego DP)
  • 2- numer wiersza, w którym znajdują się GN (godziny nocne)
  • 3- numer wiersza, w którym znajdują się GNUP (godziny nieobecności płatnej)
  • 4- numer wiersza, w którym znajdują się GNUN (godziny nieobecności niepłatnej)
  • 5- numer wiersza, w którym znajdują się GNNN (godziny nieobecności nieusprawiedliwionej)
  • 6- numer wiersza, w którym znajdują się GODB (godziny nieobecności płatnej)

Uwagi

Należy wywołać tę funkcję z Par=1, aby właściwie zaalokować strukturę danych dla funkcji GetKartaPracy


procedure GetCalendarForKartaPracy(Name:PChar; Year,Month:integer)stdcall;
procedure GetCalendarForKartaPracyW(NameW:PWideChar; Year,Month:integer)stdcall;

Wczytuje kalendarz dla pustej karty pracy

Parametry

  • Name - nazwa kalendarza (ANSI)

  • NameW - nazwa kalendarza (UNICODE)

  • Year - rok kalendarza

  • Month - miesiąc kalendarza

Uwagi

Po założeniu nowej karty pracy za dany rok i miesiąc należy wywołać tę funkcję, aby do karty pracy przepisały się odpowiednie nominalne dni i godziny pracy


procedure GetKartaPracy(Year,Month:integer; P:Pointer)stdcall;

Wczytuje kartę pracy

Parametry

  • Year - rok karty

  • Month - miesiąc karty

  • P - wskaźnik na strukturę (adres zmiennej) typu TArrKartaPracy zawierającą dane karty pracy

Uwagi

Przed wywołaniem tej funkcji należy zaalokować strukturę do przechowywania danych karty pracy. Struktura powinna być tablicą typu: TArrKartaPracy=array[1..32] of array of integer. Drugi wymiar tablicy jest zmienny i zależy od ilości wierszy karty pracy, które można odczytać funkcją GetKartaPracyParams(1), powiększony o 1 systemowy wiersz. Tablica TArrKartaPracy zawiera jako pierwszy indeks numer dnia, zaś jako drugi numer wiersza karty pracy. Np.TArrKartaPracy[1][2] poda ilość GP (godzin pracy) pierwszego dnia miesiąca, a TArrKartaPracy[10][3] ilość G50 (godz.nadl.50%) z 10 dnia miesiąca. Jeśli zmienna P będzie miała wartość nil, to nie będzie dostępu do danych karty pracy poprzez strukturę TArrKartaPracy. W takim wypadku należy używać funkcji GetKPDay() i SetKPDay().


procedure SetKartaPracy(P:Pointer)stdcall;

Zapisuje kartę pracy

Parametry

  • P - wskaźnik na strukturę (adres zmiennej) typu TArrKartaPracy zawierającą dane karty pracy

Uwagi

Po zmodyfikowaniu struktury TArrKartaPracy odpowiednimi wartościami (godziny pracy, nadliczbowe, itd.) należy wywołać tę funkcję aby zapisać nowe wartości karty pracy do bazy danych.


procedure GetECP(Day:integer)stdcall;

Wczytuje do tabeli ewidencję czasu pracy na konkretny dzień

Parametry

  • Day - numer dnia dla karty pracy za konkretny rok i miesiąc

Uwagi

Po ustawieniu się na rekordzie karty pracy za dany miesiąc i rok (np. funkcją TableLocate - trzeba określić tutaj rok i miesiąc) należy wczytać ewidencję czasu pracy na dany dzień.


procedure AnalyzeECP(Day:integer)stdcall;

Analizuje ewidencję czasu pracy na konkretny dzień

Parametry

  • Day - numer dnia dla karty pracy za konkretny rok i miesiąc

Uwagi

Po wywołaniu tej procedury otrzymamy w karcie pracy na dany dzień obliczone godziny pracy, nadgodziny 50% i 100%, godziny nocne, II zmiany itp.


function GetKPDay(Mode,Day,What:integer):integer;stdcall;

Podaje wartości konkretnego dnia z karty pracy

Parametry

  • Mode - określa, co zwraca funkcja: 0 - nominał, 1- dni lub godziny z karty pracy, 2 - godziny z godzin do odpracowania

  • Day - numer dnia dla karty pracy za konkretny rok i miesiąc

  • What - w zależności od Mode numer godzin nominalnych, godzin pracy lub godzin do odpracowania

Zwracane wartości

Dla Mode=0

  • 1 - dni nominalne
  • 2 - godziny nominalne z kalendarza
  • 3 - godziny nominalne z karty pracy

Dla Mode=1

  • 1 - dni pracy
  • 2 - rozliczone godziny pracy
  • 3 - rozliczone godziny 50%
  • 4 - rozliczone godziny 100%
  • 5-20 - kolejne godziny zdefiniowane w karcie pracy

Dla Mode=2

  • 1 - faktyczne godziny pracy
  • 2 - faktyczne godziny 50%
  • 3 - faktyczne godziny 100%


procedure SetKPDay(Mode,Day,What,Value:integer);stdcall;

Ustawia wartości konkretnego dnia z karty pracy

Parametry

  • Mode - określa, co zwraca funkcja: 0 - nominał, 1- dni lub godziny z karty pracy, 2 - godziny z godzin do odpracowania

  • Day - numer dnia dla karty pracy za konkretny rok i miesiąc

  • What - w zależności od Mode numer godzin nominalnych, godzin pracy lub godzin do odpracowania

  • Value -ilość godzin (w minutach) lub dni


procedure LiczNadgodziny;stdcall;

Oblicza nadgodziny w karcie pracy

Uwagi

Procedurę tę należy wywołać po uzupełnieniu karty pracy za cały miesiąc lub tylko za konkretne dni aby uzyskać właściwe wartości nadgodzin (zgodne z ustawieniami aplikacji)


procedure CreatePozListPola;stdcall;

Przygotowuje aktualną listę do przeliczenia

Uwagi

Procedurę tę należy wywołać po ustawieniu się na odpowiednim rekordzie listy płac, żeby później przeliczyć wynagrodzenie pracownika na konkretnej pozycji listy płac.


procedure PrzeliczPozListy(Ide:integer);stdcall;

Przelicza pracownika z zadanej pozycji listy

Uwagi

Procedurę tę należy wywołać aby przeliczyć wynagrodzenie pracownika na konkretnej pozycji listy płac o identyfikatorze Ide. Wcześniej należy otworzyć listy płac funkcją OpenTable() i po ustawieniu się na odpowiedniej liście (np. TableLocate()) wywołać funkcję CreatePozListPola i dopiero wtedy można przeliczać odpowiednie pozycje listy funkcją PrzeliczPozListy().


procedure CountEmployee;stdcall;

Przelicza pracownika z aktualnej pozycji listy

Uwagi

Procedura analogiczna do PrzeliczPozListy(), tylko zamiast podawać identyfikator pozycji listy, należy się najpierw ustawić na odpowiedniej pozycji listy.


procedure HighlightEmployee(Mode:Byte);stdcall;

Podświetla/odświetla pracowników z aktualnej listy

Parametry

  • Mode - określa jakich pracowników podświelić/odświetlić: 1 - podświetla pracowników z listy, 2- odświetla pracowników z listy, 3 - podświetla pracowników tylko z aktualnej listy (resztę odświetla), 4 - odświetla wszystkich pracowników


procedure HighlightPayList(Mode:Byte);stdcall;

Podświetla/odświetla listy płac aktualnego pracownika

Parametry

  • Mode - określa jakie listy podświelić/odświetlić: 1 - podświetla listy, na których jest pracownik, 2- odświetla listy, na których jest pracownik, 3 - podświetla tylko listy, na których jest pracownik (resztę odświetla), 4 - odświetla wszystkie listy


procedure GetStaz(Staz,Mode:Integer; ADate:Double; P:Pointer);stdcall;

Podaje staż pracy aktualnego pracownika na dowolny dzień.

Parametry

  • Staz - określa rodzaj stażu: 0 - staż, 1 - staż branżowy, 2 - staż do urlopu, 3 - staż do nagrody jubileuszowej, 4 - staż stanowiskowy

  • Mode - okres stzażu: 0 - staż z całęgo zatrudnienia, 1- staż z aktualnego zatrudnienia, 2 - staż z historii

  • ADate - data, na którą obliczyć staż

  • P - wskaźnik na wynik obliczonego stażu; należy podać wskaźnik na strukturę typu TOKRES (opis niżej)

Uwagi

Staż jest podawany w następującej strukturze:
TOKRES=record
    Y:Word;
    M,D:Byte;
end;

gdzie zmienne Y,M,D oznaczają odpowiednio ilość lat, miesięcy i dni stażu.


function WhenStaz(Staz:Integer; P:Pointer):Double;stdcall;

Podaje datę, kiedy będzie osiągnięty zadany staż pracy aktualnego pracownika.

Parametry

  • Staz - określa rodzaj stażu: 0 - staż, 1 - staż branżowy, 2 - staż do urlopu, 3 - staż do nagrody jubileuszowej, 4 - staż stanowiskowy

  • P - wskaźnik na zadany staż; należy podać wskaźnik na strukturę typu TOKRES

Zwracane wartości

Zwraca datę osiągnięcia zadanego stażu.

Uwagi

Staż należy zadać w następującej strukturze:
TOKRES=record
    Y:Word;
    M,D:Byte;
end;

gdzie zmienne Y,M,D oznaczają odpowiednio ilość lat, miesięcy i dni stażu.


function WhenStazBegins(Staz:Integer; ADate:Double):Double;stdcall;

Podaje domniemaną datę, kiedy pracownik musiałby zacząć pracę, aby osiągnąć staż pracy na dany dzień.

Parametry

  • Staz - określa rodzaj stażu: 0 - staż, 1 - staż branżowy, 2 - staż do urlopu, 3 - staż do nagrody jubileuszowej, 4 - staż stanowiskowy

  • ADate - data, na kiedy określić staż

Zwracane wartości

Zwraca domniemaną datę, kiedy pracownik musiałby zacząć pracę, aby osiągnąć staż pracy na dzień ADate

Uwagi

Brak


function GetGodzUrlPozostalo(Rodzaj, Year:Integer; Godz8Days:PChar):integer;stdcall;
function GetGodzUrlPozostaloW(Rodzaj, Year:Integer; Godz8DaysW:PWideChar):integer;stdcall;

Podaje ilość godzin urlopu pozostałych do wykorzystania w danym roku.

Parametry

  • Rodzaj - określa rodzaj urlopu: 0 - urlop wypoczynkowy, 1 - urlop okolicznościowy, 2 - urlop opieka nad dzieckiem, 3 - urlop dodatkowy

  • Year - rok, za który interesuje nas pozostały do wykorzystania limit

  • Godz8Days - wskaźnik na tablicę znakową (ciąg znaków ANSI (1-bajtowych) zakończonych '\0'), w której umieszczona zostanie tekstowa informacja o ilości pozostałych dni do wykorzystania

  • Godz8DaysW - wskaźnik na tablicę znakową UNICODE (2-bajtowych)

Zwracane wartości

Funkcja zwraca ilość godzin danego urlopu, ujemna wartość mówi o przekroczeniu limitu. Żeby uzyskać ilość dni należy otrzymane godziny podzielić przez ilość nominalnych godzin pracy dla danego etatu (standardowo 8). Do informacji tekstowych można wykorzystać zawartość bufora Godz8Days

Uwagi

W przypadku urlopów nielimitowanych (okolicznościowy) funkcja zwróci 0.


function GetDniUrlChor(YearP:Integer):integer;stdcall;

Podaje ilość wykorzystanych dni urlopu na żądanie ze wszystkich wykorzystanych dni urlopu wypoczynkowego.

Parametry

  • Year - rok, za który interesują nas wykorzystane dni

Zwracane wartości

Zwraca ilość wykorzystanych dni urlopu na żądanie.

Uwagi

Brak


function DostepnaData(Nazwa:PChar; Data:TDateTime ):Boolean;stdcall;
function DostepnaDataW(NazwaW:PWideChar; Data:TDateTime ):Boolean;stdcall;

Określa czy dana ewidencja w aplikacji jest otwarta czy zamknięta

Parametry

  • Nazwa - nazwa ewidencji. Dostępne nazwy ewidencji:

    • Wyposazenie
    • Koszty
    • KartPracy
    • KartUrlop
    • KartZas
    • Nieobecnosc
    • Deleg
    • Akord
    • Wklady
    • Potracenia
    • Ryczalty
    • ZFSS
  • Data - na jaki dzień sprawdzać czy ewidencja jest otwarta

Zwracane wartości

Zwraca True jeśli ewidencja jest otwarta