Instrukcja administratora > Funkcje API > Operacje na bazie danych > Tworzenie wydruków

Drukuj

Tworzenie wydruków

Tworzenie wydruków jest możliwe tylko z wykorzystaniem serwera R2P, który przyjmuje do wykonania zadania drukowania, a następnie zwraca je w formie HTML.

function CheckServer:Boolean;stdcall;

Sprawdza czy jakikolwiek serwer R2P jest dostępny.

Parametry

Brak

Zwracane wartości
Zwraca True jeśli jest dostępny choć jeden serwer R2P.

Aby uruchomić serwer R2P należy uruchomić aplikację R2Płatnik z parametrami: /SERVER /ICON /U:nazwa użytkownika /H:hasło użytkownika (patrz także Serwer R2P)

 

function CreateJob(Ide:integer; Params:PChar):Integer;stdcall;

Tworzy i dodaje nowe zadanie do kolejki serwera R2P

Parametry

Ide - identyfikator zadania

Params - lista parametrów oddzielonych średnikami (;)

Zwracane wartości
Jeśli wartość jest niezerowa, zwraca uchwyt zadania, który został nadany przez serwer R2P; w przeciwnym wypadku zadanie nie zostało przyjęte przez serwer.

 

function CreatePrintJob(Doc:integer; Rml:PChar; TN1,TN2,TN3,TN4:PChar; Id1,Id2,Id3,Id4:integer; Params:PChar):Integer;stdcall;

Tworzy i dodaje nowe zadanie drukowania powiązane z konkretną makietą dokumentu, do kolejki serwera R2P

Parametry

Doc - numer makiety dokumentu (pole @NrDokumentu w tabeli DOKUMENTY)

Rml - nazwa makiety dokumentu (pole Makieta w tabeli DOKUMENTY)

TN1..TN4 - lista nazw tabel

Id1..Id4 - lista odpowiadającym wyżej tabelom identyfikatorów rekordów, dla których ma zostać wydrukowany dokument

Params - lista parametrów oddzielonych średnikami (;); powinna być pusta

Zwracane wartości
Jeśli wartość jest niezerowa, zwraca uchwyt zadania, który został nadany przez serwer R2P; w przeciwnym wypadku zadanie nie zostało przyjęte przez serwer.

Przed utworzeniem nowego zadania drukowania, należy odszukać tabele i identyfikatory ich rekordów (pola Ide), dla których dany dokument ma powstać. Jeśli np. chcemy wydrukować wniosek urlopowy podajemy tabele: PRACOWNICY, AKTUALNE ZATRUDNIENIE, oraz KARTA URLOPOWA, i odpowiednio identyfikatory danego pracownika, jego zatrudnienia i odpowiedniego rekordu z karty urlopowej.

 

function WaitForJob(Handle:integer; TimeOut:integer=5000):Boolean;stdcall;

Czeka, aż zadanie zostanie wykonane przez serwer

Parametry

Handle -uchwyt zadania zwrócony przez jedną z funkcji CreateJob lub CreatePrintJob

TimeOut - timeout na wykonanie zadania w milisekundach (domyślnie czeka 5s.)

Zwracane wartości
Zwraca True jeśli zadanie zostało wykonane

Jeśli zadanie nie zostało wykonane można ponownie wywołać tę funkcję (np. z dłuższym timeout'em) lub usunąć zadanie z kolejki serwera funkcją ReleaseJob i spróbować zadać ponownie.

 

function SavePrintJobToFile(Handle:integer; FileName:PChar):Boolean;stdcall;

Zapisuje wydruk dokumentu do pliku

Parametry

Handle -uchwyt zadania zwrócony przez jedną z funkcji CreateJob lub CreatePrintJob

FileName - nazwa pliku, do którego wydruk ma zostać zapisany

Zwracane wartości
Zwraca True jeśli wydruk udało się zapisać do pliku

Jeśli funkcja WaitForJob zwróciła True, a zadanie było zadaniem drukowania, należy wydruk zapisać do pliku.

 

function ReleaseJob(Handle:integer):Boolean;stdcall;

Usuwa zadanie z kolejki serwera R2P

Parametry

Handle -uchwyt zadania zwrócony przez jedną z funkcji CreateJob lub CreatePrintJob

Zwracane wartości
Zwraca True jeśli zadanie zostało usunięte z kolejki serwera R2P.

Po wykonaniu zadania przez serwer należy je koniecznie usunąć z kolejki serwera.