Punkty wejścia > Moduł Administrator > Standardowy skrypt AIMP3 

IMPRIME

Punkt wejścia IMPRIME jest wywoływany tuż przed wyborem drukarki. Jedyna możliwa operacja to ustawienie zmiennej GPE, która, jeśli różni się od 0, uniemożliwia wprowadzenie drukarki.

Kontekst i tryb działania

Następujące tabele znajdują się w pozycji :

Tabela

Znacząca zawartość

Opis tabeli,

AREPORT [ARP]

Tak

Słownik raportów

Parametry są przechowywane w zmiennej PARAMETRE z indeksami od 1 do NBPAR. Każda wartość to łańcuch w formie „parametr=wartość” beż żadnego innego separatora. Parametry raportów dzielą się na 4 klasy:

Te, które rozpoczynają się podwójnym podkreślnikiem. Są to parametry przeznaczone dla X3. Nie są one przekazywane do raportu (przynajmniej nie takie, jakimi są).

Te, które rozpoczynają się pojedynczym podkreślnikiem. Są to parametry przeznaczone dla Crystal Reports, nie są one przekazywane do raportu. Wartości tych parametrów obowiązkowo posiadają prefiks chr$(1).

Te, które rozpoczynają się od „X3”. Są to parametry kontekstu przekazywane do raportu i inicjalizowane automatycznie przez administratora.

Te, które są opisane w słowniku raportów. Jeśli słownik zawiera parametr kończący się „deb” lub „str”, inny parametr o tym samym rdzeniu kończony się „fin” lub „end” jest dodawany automatycznie.

Nazwa serwera wydruku nie jest parametrem. Jest ona zdefiniowana w zmiennej lokalnej SERVEUR(char(30)).


Lista parametrów:

__REPORT                          Nazwa raportu Crystal Reports

__DESTINATION                 0=podgląd, 1=drukarka, 2=skrzynka, 3=plik

__TYPDBA                           Typ bazy danych (menu lokalne 23)

__DBSERVER                    Nazwa ODBC

__DBDATABASE                     Nazwa bazy danych

__DBUSER                          Użytkownik bazy danych

__DBPASSWORD             Hasło

__WSTATION    (*140)              Nr portu dla serwera wydruku

__CDUSER         (*140)            Kod użytkownika

__APPLICATION                 Folder; Maszyna; Usługa (z której uruchamiany jest wydruk)

__APPRPT                          Folder; Maszyna; Usługa (z której uruchamiany jest raport)

__REQUETE                       Nr zapytania

 

_PreVisuOptions                 Opcje podglądu (nieoperacyjne)

_PrinterName                       Nazwa drukarki

_Orientation                          0=pionowo, 1=poziomo

_PrinterDriver (*)                  Nazwa sterownika drukarki

_PrinterPort (*)                     Port drukarki

_PrinterDescription (*)        Cechy drukarki

_FormatExport                     Format pliku eksportu (menu lokalne 91)

_FormatDelString                Separator łańcucha, jeśli format to CSV

_FormatDelRecord              Separator pola, jeśli format to CSV

_ExportFile                           Nazwa wyeksportowanego pliku

 

X3DOS                                 Folder; maszyna; usługa; wersja; język (*140 wersja + język)

X3CLI                                    Nazwa firmy klienta

X3EDT                                  Copyright

X3ETA                                  Kod raportu

X3TIT                                    Nazwa raportu

X3USR          (*130)             Kod użytkownika

X3LAN         (*140)                Katalog języka raportu

X3FCY       (*Warehousing)            Lokalizacja

X3DEP     (*Warehousing)              Depozytariusz

X3OPE                                 Nazwa użytkownika

X3SIT1          (*120)             Uprawnione lokalizacje

X3SIT2          (*120)             Zabronione lokalizacje

X3PRF          (*130)             Profil funkcji

X3FCT           (*130)             Funkcja powiązana z raportem

X3SIT          (*130)             Lista zabronionych lokalizacji

(*)                   Te parametry zależą od drukarki i nie mogą zostać opisane. Są one standardowo pobierane przez instrukcję selimp (dokonanie próby dla danej drukarki i zanotowanie wartości tych parametrów).

(*120)Dostępne w V110 i V120, nie będzie dostępne w V130

(*130)Dostępne od V130

 

Otwarte tabele

Tylko tabela AREPORT zawierająca raport w trakcie wydruku ma znaczenie.

 

Przykład użycia

 

####################################################################

## Przykład użycia punktów wejścia procesu AIMP3

####################################################################

$ACTION

Case ACTION

When 'IMPRIME' : Gosub IMPRIME

When 'PARAM' : Gosub PARAM

Endcase

Return

$IMPRIME

If [F:ARP]RPTCOD='REPORT1', 'REPORT2','REPORT3'):                            : # Lista raportów do przetworzenia

GPE = 1: # skok wprowadzania drukarki

Endif

Return

$PARAM

####################################################################

## Parametry są zawarte w zmiennej PARAMETRE(1..NBPAR)

## ale podprogramy GETPARAM i SETPARAM TrT ETAT

# umożliwiają łatwiejszy dostęp

####################################################################

Local Char XPARAM(250)(1..10) , XPAR(50) , XVAL(50) , XETAT(20)

Local Integer XNB , XK , XI

####################################################################

## Czy zażądano wydruku dla drukarki?

####################################################################

Call GETPARAM('__DESTINATION',NBPAR,PARAMETER,XVAL) From ETAT

If XVAL<>'1'

Return: # Nie, więc brak działania

Endif

####################################################################

## Określenie drukarki w zależności od raportu

####################################################################

Call GETPARAM('X3ETA',NBPAR,PARAMETER,XETAT) From ETAT

Case XETAT

When 'REPORT1': XIMP = 'my_printer'

When 'REPORT2': XIMP = 'laser_printer'

When 'REPORT3': XIMP = 'dot-matrix_line_printer'

When Default Return

Endcase

####################################################################

## Przypisanie serwera wydruku

####################################################################

SERVER = 'the_machine_that_prints'

####################################################################

## Pobranie domyślnych parametrów drukarki

####################################################################

XNB = 0

XNB += 1: XPARAM(XNB) = '_PrinterName=' + chr$(1) + XIMP: # Nazwa drukarki do przypisania

XNB += 1: XPARAM(XNB) = '_Orientation=' + chr$(1) + '1': # Tryb poziomo

XNB += 1: XPARAM(XNB) = '_NoVisible=' + chr$(1) + '1': # Brak wpisu

Selimp XPARAM = '' With XPARAM(1..XNB): # Odczyt domyślnych parametrów

XNB = stat1

For XI=1 To XNB

XK = instr(1,XPARAM(XI),'=')

If XK

XPAR = left$(XPARAM(XI),XK-1)

XVAL = right$(XPARAM(XI),XK+1)

# Jeśli użytkownik nie chce parametrów domyślnych

# można również je przypisać tutaj

# If XPAR='_PrinterPort': XVAL = 'my_port': Endif

Case XPAR

When '_PrinterName' , '_PrinterDriver' , '_PrinterPort'

& , '_PrinterDescription' , '_Orientation'

Call SETPARAM(XPAR,NBPAR,PARAMETRE,XVAL) From ETAT

Endcase

Endif

Next XI

Return

PARAM

Punkt wejścia PARAM umożliwia modyfikację dowolnego parametru raportu.

Kontekst i tryb działania

Następujące tabele znajdują się w pozycji :

Tabela

Znacząca zawartość

Opis tabeli,

AREPORT [ARP]

Tak

Słownik raportów

REPORT

Punkt wejścia REPORT umożliwia rozpoczęcie procesu po wydruku raportu. Ten punkt wejścia jest wykonywany tuż po poleceniu wydruku wysłanym do klienta (lub serwera). W przypadku wydruku/pliku, może on służyć do rozpoczęcia przetwarzania wygenerowanego pliku.

Kontekst i tryb działania

Następujące tabele znajdują się w pozycji :

Tabela

Znacząca zawartość

Opis tabeli,

AREPORT [ARP]

Tak

Słownik raportów

REPORT_ZPL

Punkt wejścia REPORT_ZPL umożliwia rozpoczęcie procesu po wydruku raportu ZPL. Ten punkt wejścia jest wykonywany tuż po poleceniu wydruku wysłanym do klienta (lub serwera). W przypadku wydruku/pliku, może on służyć do rozpoczęcia przetwarzania wygenerowanego pliku.

Kontekst i tryb działania

Następujące tabele znajdują się w pozycji :

Tabela

Znacząca zawartość

Opis tabeli,

AREPORT [ARP]

Tak

Słownik raportów

Ten punkt wejścia jest wykonywany tuż po utworzeniu raportu ZPL.