Etikettendruck - eine mehrmals drucken

Moderator: Moderatoren

Antworten
Spearing
Rookie
Rookie
Beiträge: 1
Registriert: Do, 06. Mai 2010 15:39

Etikettendruck - eine mehrmals drucken

Beitrag von Spearing »

Hallo!

Ich würde gern ein Etikett mehrmals auf einem Etikettenbogen drucken.
Kann man irgendwie festlegen wie oft ein Datensatz hintereinander abgefragt wird? Also öfter als zweimal (ohne previous())

Hab schon alls mögliche versucht...

DANKE!
LG
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9357
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Etikettendruck - eine mehrmals drucken

Beitrag von Tom »

Hallo, Spearing.

Wie arbeitest Du mit L&L? In der AX- oder der DLL-Variante? Wie sieht Deine Druckroutine aus?

Im Prinzip ist das aber ganz einfach. Du veröffentlichst ja die Felder pro Datensatz mit "LlDefineField/LlDefineFieldExt", und nachdem das für einen Datensatz (oder, z.B., für eine Arrayzeile) geschehen ist, wird der Druck dieses einen Etiketts mit LlPrint() veranlasst. Wenn Du danach nicht skipst und die Schleife wiederholst, wird dasselbe Etikett abermals gedruckt.

Wenn Du ein Stück Code zur Verfügung stellst (vorausgesetzt, es stammt NICHT aus den L&L-Beispielen!), kann ich Dir zeigen, wie man das macht.

Im Beispiel "Simple1" müsstest Du im Code von "LULMENU.PRG" nach der Prozedur "PrintLabels" suchen - vermutlich hast Du die in Dein Projekt kopiert. Dort befindet sich in Zeile 156 (Beispiel zu L&L 15) ein DbSkip(1). Das bewirkt, dass beim nächsten Durchlauf über den Aufruf von "DefineData" (Zeile 148) die Daten des nächsten Datensatzes publiziert werden. Wenn Du diese beiden Aufrufe (DefineData, DbSkip) in eine Schleife nimmst, die so oft durchlaufen wird, wie Du Kopien eines einzelnen Etiketts haben willst, ist das Thema erledigt.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9357
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Etikettendruck - eine mehrmals drucken

Beitrag von Tom »

Ach so. Im Formular geht es natürlich auch, aber das ist ein bisschen komplexer. Im Prinzip kannst Du ja jedes Feld bzw. jede Variable so oft wiederholen, wie Du möchtest. Wenn es ein Feld "NAME" gibt, kannst Du das mehrfach im Formular platzieren. Das wird allerdings problematisch, wenn Du ein Etikett als Ausschnitt (also z.B. eines von 24 auf einer A4-Seite) layoutest. Du müsstest hierfür ein neues Formular anlegen, bei dem eine A4-Seite z.B. nur 8 Etiketten (nämlich 8 Zeilen) hätte, wobei dann in einer Zeile die Daten zweimal wiederholt würden (also insgesamt dreimal erschienen). Das hätte allerdings zur Folge, dass es erstens nur für eine Anzahl Wiederholungen ginge, die der Etikettenanzahl pro Zeile entspräche (3, 6, 9 usw.), und außerdem müsstest Du für alle Wiederholungsvarianten eine Formular generieren (was übrigens auch per Code geht!). Einfacher ist es, die Druckroutine mit einer Wiederholungsschleife auszustatten.

Ja, und dann ginge es theoretisch auch noch mit verketteten Objekten. Aber hierfür müsste das Formular irgendwie erfahren, wie oft wiederholt/verkettet werden soll. Auch das geht einfacher direkt in der Druckroutine - und mit einem einzigen Formular.
Herzlich,
Tom
Antworten