Instrukcja administratora > Funkcje API > Operacje na bazie danych > Funkcje programu

Drukuj

Funkcje programu

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)

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;

Wczytuje kalendarz dla pustej karty pracy

Parametry

Name - nazwa kalendarza

Year - rok kalendarza

Month - miesiąc kalendarza

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

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

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

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

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

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

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

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

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 staż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)

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.

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
 

function GetGodzUrlPozostalo(Rodzaj, Year, Mon, Day:Integer; Godz8Days:PChar):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, Mon, Day - rok, miesiąc, dzień za który interesuje nas pozostały do wykorzystania limit

Godz8Days - wskaźnik na tablicę znakową, w której umieszczona zostanie tekstowa informacja o ilości pozostałych dni do wykorzystania

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

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

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

Zwracane wartości

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

 

function DostepnaData(Nazwa:PChar; Data:TDateTime; Silent:Boolean=False; Blokada:Boolean=False ):Boolean;stdcall;

 

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

Parametry

Nazwa - nazwa ewidencji. Dostępne nazwy ewidencji:

oWyposazenie

oKoszty

oKartPracy

oKartUrlop

oKartZas

oNieobecnosc

oDeleg

oAkord

oWklady

oPotracenia

oRyczalty

oZFSS

Data - na jaki dzień sprawdzać czy ewidencja jest otwarta

Silent – jeśli ustawiono na True, to ewentualne komunikaty nie będą dostępne poprzez funkcję GetLastError().

Blokada – sprawdza, czy w Zamykaniu Ewidencji użytkownik nie ustawił blokady edycji od wybranego dnia miesiąca

Zwracane wartości
Zwraca True jeśli ewidencja jest otwarta