Kopienzaehler
Aus LexWIKI
Damit man mehrere, auch abweichende Seiten eines Auftrages ausdrucken kann, muß 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. Vgl.: Grafiken einbinden.
Zuerst muß 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 daß 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
Kategorien: Formulargestaltung:Code-Schnipsel | Bueroservice komplett | Faktura+auftrag | Financial office | Financial office plus handwerk | Financial office pro | Financial office premium | Financial office premium handwerk | Handwerk plus | Handwerk premium | Neue steuerkanzlei | Warenwirtschaft pro | Warenwirtschaft premium

