LexSHOP GmbH & Co. KG Contact Details:
Main address: Celsiusstrasse 28 12207 Berlin, Germany ,
Tel:( 49 30) 55 14 54 38 , Fax:( 49 30) 70 01 43 11 28 , E-mail: info(at)lexwiki.de URL: Logo LexWIKI Founder:
Udo Netzel Director (CEO)

Damit man mehrere, auch abweichende Seiten eines Auftrages ausdrucken kann, muss man einen Kopienzähler einrichten. Auf die dabei erzeugten Variablen kann man dann im Laufe des Skriptes zugreifen und z.B. Logos in Abhängigkeit von der Kopienzahl unterschiedlich andrucken. Siehe auch Grafiken einbinden.

Zuerst muss man dazu den Kopienzähler definieren:

' Definition der Anzahl der Kopien
Dim i_FirmaXXX_AnzahlKopien as numeric = 3
Dim i_FirmaXXX_KopieZaehler as numeric = 1
Dim b_FirmaXXX_AuftragIstRechnung as bool = IS(AUFTR_IST_RG)

Das erste Codebeispiel zeigt den geänderten Text der Datei lay_devi.lsf:

'///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'----------------------------------------------Erzeugen des gesamten Formulars -----------------
'SetHeaderMargin(nRandLinks, nRandOben, nRandRechts, nKopfzeileHoehe)
' Header so Hoch wie der Body, damit in der Funktion Kopfzeile auf das ganze Blatt gezeichnet werden kann
SetHeaderMargin(nRandLinks, nRandOben , nRandRechts, nSeitenHoehe-nRandUnten - nFusszeileHoehe)
SetFooterMargin(nRandLinks, nFusszeileHoehe + 10, nRandRechts, nFusszeileHoehe)
SetBodyMargin(nRandLinks, nRandOben , nRandRechts, nRandUnten + nFusszeileHoehe + 10)
 
dim bPageBreak as bool = FALSE
dim nTemp as numeric = 0
'dim strTemp as string = ""
 
'hier beginnt die Kopie-Schleife +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
while i_FirmaXXX_KopieZaehler <= iAnzahlKopien do 'sagt dass es zwei Ausdrucke gibt
 
    Result_R = FirstRecord(AUFTRAG) 'Erste Rechnung oder sonstiges
 
    if i_FirmaXXX_KopieZaehler > 1 then
        nAuftragPage = 0
        PageBreak()
    end if
    ' für die erste Seite werden die Funktionen des Seitenwechsels bereits hier aufgerufen
    if Result_R then
        ....
        bEndeAuftragsbeschreibung = false
        Pagebreak()
    end if
End While
 
i_FirmaXXX_KopieZaehler = i_FirmaXXX_KopieZaehler + 1
End While

Und hier der Originalcode der lay_devi.lsf:

'///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'----------------------------------------------Erzeugen des gesamten Formulars -----------------
fNoPageBreak = true
SetPrintDevice(1)
fNoPageBreak = false
'SetHeaderMargin(nRandLinks, nRandOben, nRandRechts, nKopfzeileHoehe)
' Header so Hoch wie der Body, damit in der Funktion Kopfzeile auf das ganze Blatt gezeichnet werden kann
SetHeaderMargin(nRandLinks, nRandOben , nRandRechts, nSeitenHoehe-nRandUnten - nFusszeileHoehe)
SetFooterMargin(nRandLinks, nFusszeileHoehe + 10, nRandRechts, nFusszeileHoehe)
SetBodyMargin(nRandLinks, nRandOben , nRandRechts, nRandUnten + nFusszeileHoehe + 10)
 
dim bPageBreak as bool = FALSE
'dim strTemp as string = ""
dim nTemp as numeric = 0
 
Result_R = FirstRecord(AUFTRAG) 'Erste Rechnung oder sonstiges
' für die erste Seite werden die Funktionen des Seitenwechsels bereits hier aufgerufen
if Result_R then
    bEndeAuftragsbeschreibung = false
    Pagebreak()
end if
End While

 

Veröffentlicht bzw. zuletzt aktualisiert am 15. Juni 2019 - Autor: Robert Madloch

 

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.