Seite 1 von 1

Einzelne Druckjobs

Verfasst: 12. Dezember 2018 10:13
von simon.sprenger
Hallo Zusammen,

ich habe folgendes Problem:

Ich möchte beim Druck von Fertigungsaufträgen noch ein Datenblatt anhängen, welches automatisch mit ausgedruckt werden soll. Das Datenblatt ist eine PDF Datei und liegt auf dem Netzlaufwerk. Wenn ich die Fertigungsaufträge einzeln drucke funktioniert es.

Wenn ich mehrere Aufträge (FA123456..FA200000) drucken will, kommen jedoch erst alle Fertigungsaufträge raus und dann im Anschluss alle Datenblätter. Die Reihenfolge sollte jedoch immer ein FA, ein Datenblatt, ein FA usw. sein.

Ich denke mal das hängt damit zusammen, dass NAV den druck der FA's als ein Druckjob ansieht. Gibt es hier einen Möglichkeit dies zu umgehen ohne jeden FA einzeln drucken zu müssen?

Gruß und vielen Dank im Voraus

Simon

Re: Einzelne Druckjobs

Verfasst: 12. Dezember 2018 14:42
von m_schneider
Du brauchst einen vorgeschalteten Report, welcher die FAs filtert und dann einzeln ausdruckt.

Re: Einzelne Druckjobs

Verfasst: 13. Dezember 2018 11:00
von simon.sprenger
Ok. Vielen Dank. Den vorgeschalteten Report habe ich soweit umgesetzt und das funktioniert.

Jetzt brauche ich jedoch noch einen Timer. Problem ist, dass die Reihenfolge FA, PDF, FA, PDF nicht passt, da das PDF scheinbar länger braucht eh der Druckjob an den Drucker gesendet wird. Hier habe ich die Reihenfolge FA, PDF, FA, FA, PDF, PDF.

Ich habe dies bereits mit der Sleep Funktion versucht umzusetzen, hierbei scheint jedoch auch der Druckjob anzuhalten....

Re: Einzelne Druckjobs

Verfasst: 13. Dezember 2018 13:15
von m_schneider
Nein, du musst das PDF modal drucken.
wie druckst du denn das PDF?

Re: Einzelne Druckjobs

Verfasst: 14. Dezember 2018 09:16
von simon.sprenger
Das PDF drucke ich wie im Bild beschrieben aus...

Re: Einzelne Druckjobs

Verfasst: 14. Dezember 2018 09:22
von m_schneider
Sehr gut...

und nach dem Start schreibst du ein

Code:
Process.WaitForExit(); ; // tells NAV to wait for the program to close

Quelle

Re: Einzelne Druckjobs

Verfasst: 14. Dezember 2018 09:24
von fiddi
Hallo da fehlt noch:
Code:
Process := Process.Start(StartInfo);
Process.WaitForExit(5000);
Process.WaitForInputIdle();
Process.Kill();


Hinten dran.

Gruß Fiddi