|
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:
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
Dla Mode=1
Dla Mode=2
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:
Data - na jaki dzień sprawdzać czy ewidencja jest otwarta
Zwracane wartości
Zwraca True jeśli ewidencja jest otwarta