Howto: Mehrere Rechnungen drucken

Hallo ngler!
Ich arbeite mit LL14 und VB6 SP6 unter WXPSP3 und habe mal eine Frage zum Beispiel invoice: In diesem Beispiel kann ich eine Rechnung auswählen, die ich drucken möchte. Ich möchte jetzt aber alle Rechnungen auf einmal ausdrucken? Geht das überhaupt, wenn ja wie? Das Problem was ich hiersehe ist, wenn die Rechnungen über mehrere Seiten gehen…
Codeschnippsel wäre wünschenswert.
Danke Markus

“Eder Markus” <m.eder@cmaxmedi…> schrieb im Newsbeitrag
news:1525611162008141615@combit.net…

Ich möchte jetzt aber alle Rechnungen auf einmal ausdrucken? Geht das
überhaupt, wenn ja wie? Das Problem was ich hiersehe ist, wenn die
Rechnungen über mehrere Seiten gehen…
Codeschnippsel wäre wünschenswert.

Codeschnipsel habe ich zwar keins, an sich ist es aber nicht schwer. Du
musst einfach die Rechnungen in einer Schleife drucken und dabei
LlPrintResetProjectState verwenden. Im Prinzip so:

LlPrintStart()
LlPrintOptionsDialog()

foreach (Rechnung)
{
LlPrint(), LlPrintFields(),…, LlPrintFieldsEnd
LlPrintResetProjectState()
}
LlPrintEnd()

So hast Du dann alle Rechnungen in einem Druckjob, der wird durch die API in
Seitenzahl, Summen etc. zurueckgesetzt.

G.

Danke, funktioniert wunderbar!
Markus

“Eder Markus” <m.eder@cmaxmedi…> schrieb im Newsbeitrag
news:1525611162008141615@combit.net…

Ich möchte jetzt aber alle Rechnungen auf einmal ausdrucken? Geht das
überhaupt, wenn ja wie? Das Problem was ich hiersehe ist, wenn die
Rechnungen über mehrere Seiten gehen…
Codeschnippsel wäre wünschenswert.

Codeschnipsel habe ich zwar keins, an sich ist es aber nicht schwer. Du
musst einfach die Rechnungen in einer Schleife drucken und dabei
LlPrintResetProjectState verwenden. Im Prinzip so:

LlPrintStart()
LlPrintOptionsDialog()

foreach (Rechnung)
{
LlPrint(), LlPrintFields(),…, LlPrintFieldsEnd
LlPrintResetProjectState()
}
LlPrintEnd()

So hast Du dann alle Rechnungen in einem Druckjob, der wird durch die API in
Seitenzahl, Summen etc. zurueckgesetzt.

G.

Hallo Hr. Schwarze, danke für die rasche Antwort. Nun musste ich feststellen, das LL14 mir die Kopfzeilen zu Detailzeilen falsch zuordnet.
Für den Rechnungsdruck verwende ich eine Abfrage mit Detailsätzen:

|- Rechnung
|- |- Rechnungsdetail mit Summe

Nun kommt beim Druck von 3 Rechnungen mit jeweils 2 Detaildatensätzen folgendes Ergebniss heraus:
Seite 1: Rechnungsnummer 1 (Textfeld im Berichtskopf)
Seite 1: |- Detail 1 zu Rechnungsnummer 1
Seite 1: |- Detail 2 zu Rechnungsnummer 1

Seite 2: Rechnungsnummer 1 ← Das ist falsch
Seite 2: |- Detail 1 zu Rechnungsnummer 2
Seite 2: |- Detail 2 zu Rechnungsnummer 2

Seite 3: Rechnungsnummer 2 ← Auch falsch
Seite 3: |- Detail 1 zu Rechnungsnummer 3
Seite 3: |- Detail 2 zu Rechnungsnummer 3

Die Rechnungsnummer auf der 2ten Seite ist nicht korrekt. Hier sollte Rechnungsnummer 2 stehen. Summen und Mengen werden richtig zurückgesetzt.
In der Abfrage ist alles richtig und wenn ich eine Rechnung alleine Drucke, so wird diese auch richtig angezeigt?
mfg Markus

“Eder Markus” <m.eder@cmaxmedi…> schrieb im Newsbeitrag
news:1525611162008141615@combit.net…

Ich möchte jetzt aber alle Rechnungen auf einmal ausdrucken? Geht das
überhaupt, wenn ja wie? Das Problem was ich hiersehe ist, wenn die
Rechnungen über mehrere Seiten gehen…
Codeschnippsel wäre wünschenswert.

Codeschnipsel habe ich zwar keins, an sich ist es aber nicht schwer. Du
musst einfach die Rechnungen in einer Schleife drucken und dabei
LlPrintResetProjectState verwenden. Im Prinzip so:

LlPrintStart()
LlPrintOptionsDialog()

foreach (Rechnung)
{
LlPrint(), LlPrintFields(),…, LlPrintFieldsEnd
LlPrintResetProjectState()
}
LlPrintEnd()

So hast Du dann alle Rechnungen in einem Druckjob, der wird durch die API in
Seitenzahl, Summen etc. zurueckgesetzt.

G.

“Eder Markus” <m.eder@cmaxmedi…> schrieb im Newsbeitrag
news:4916811172008142526@combit.net…

Hallo Hr. Schwarze, danke für die rasche Antwort. Nun musste ich
feststellen, das LL14 mir die Kopfzeilen zu Detailzeilen falsch zuordnet.

Hierzu muss sichergestellt werden, dass die richtigen Kopfinfos vor dem
initiellen LlPrint() bekannt sind. Also - um im Beispiel zu bleiben:

LlPrintStart()
LlPrintOptionsDialog()

foreach (Rechnung)
{
----> hier die Kopfdaten definieren, unbedingt vor dem ersten LlPrint
LlPrint(), LlPrintFields(),…, LlPrintFieldsEnd
LlPrintResetProjectState()
}
LlPrintEnd()

Das muesste eigentlich klappen, habe ich frueher selbst so gemacht.

G.