[Gelöst] Report verliert Drucker zu Laufzeit?!?

13. Dezember 2012 08:39

Guten Morgen zusammen,

ich habe seit 3 Tagen ein komischer Problem, welches langsam ein wenig brenzlig wird.

Ein Kunde hat eine NAV 5.0 Datenbank mit 2 Mandanten. Der lokale IT-Partner hat 2 identische PDF-Writer mit unterschiedlichen Namen und unterschiedlichen Ausgabeverzeichnissen installiert:
3-Heights(TM) PDF Producer (für den ersten Mandanten)
3-Heights(TM) PDF Producer M2 (für den zweiten Mandanten)
Der Sinn der 2 PDF-Writer ist, dass die PDF-Dokumente pro Mandant in 2 unterschiedliche Ausgabeverzeichnisse geschrieben werden.
Beide PDF-Writer sind bis auf die Namen, Anschlüsse (Port) und Ausgabeverzeichnisse absolut identisch definiert.
Die Reports werden als Batch in der Nacht mit "REPORT.RUNMODAL(ReportID,FALSE,FALSE,Rec);" aufgerufen.
Die beiden Drucker sind in den Druckerauswahlen (Table 78 Printer Selection) auch bei 2 Benutzern hinterlegt.

Beim ersten Druchlauf hat alles einwandfrei funktioniert.

Seit 3 Tagen funktioniert die PDF-Erstellung nur noch mit dem ersten PDF-Writer. Der zweite PDF-Writer erstellt keine PDFs mehr, es wird auch keine Fehlermeldung ausgegeben.
Ich habe dann beim zweiten Mandaten alles auf den ersten PDF-Writer umgestellt. Dann hat es funktioniert!?!

Anschliessend habe ich die Verarbeitung mit Debug und Code Coverage analysiert.
Dabei habe ich alles in einem Mandanten einmal mit dem ersten PDF-Writer und einmal mit dem zweiten PDF-Writer eingerichtet und gestartet:
- In beiden Fällen wird der Report aufgerufen.
- Innerhalb des Reports wird in beiden Fällen der Trigger OnInitReport aufgerufen.
- Anschliessend verzweigt der Report in die Codeunit 1 und ruft dort die Funktion "FindPrinter" auf.
- In dieser Funktion wird in beiden Fällen die Druckerauswahl gefunden.
- Ebenso wird der Drucker mit dem Druckernamen aus der Druckerauswahl gefunden (wir testen zusätzlich wie viele von Euch zusätzlich den Drucker in der Tabelle 2000000039 Printer)

Ab jetzt gibt es einen grossen Unterschied:
- Mit dem ersten PDF-Writer läuft der Report weiter (OnAfterGetRecord) und druckt/erstellt PDF-Dokumente
- Mit dem zweiten PDF-Writer hat NAV den Report schon wieder verlassen. Es wird nichts gedruckt/erstellt!?!

Wie kann dies geschehen????????

Die Druckerauswahl sowie der Drucker wurden ja gefunden.

VIELEN DANK,
Beno
Zuletzt geändert von beno am 14. Dezember 2012 10:59, insgesamt 1-mal geändert.

Re: Report verliert Drucker zu Laufzeit?!?

13. Dezember 2012 09:24

Schon den zweiten Drucker mal neu installiert?
Wird multi-installation vom Drucker überhaupt unterstützt?
Wieso hat der Drucker keinen Laufzeitparameter, wo man den Zielpfad mitgeben kann? ;-)

Re: Report verliert Drucker zu Laufzeit?!?

13. Dezember 2012 09:45

Beide Drucker wurden schon neu installiert -> Dasselbe Resultat.
Die Multi-Installation wird unterstützt.
Dem Drucker kann über die Anschlüsse (Eigenschaften) ein Zielpfad angegeben werden.
Bei beiden Druckern wurden unterschiedliche Zielpfade angegeben.

Das Beste kommt aber jetzt!!!
Neben den beiden PDF-Druckern gibt es noch den lokalen Microsoft Drucker "Microsoft XPS Document Writer" sowie einen anderen, normalen Netzwerkdrucker.
Der normale Netzwerkdrucker war als Standarddrucker eingetragen.

-> Ist der Netzwerkdrucker als Standarddrucker festgelegt, funktioniert nur der erste PDF-Drucker. Der zweite PDF-Drucker erstellt dann überhaupt nichts.
-> Ist der lokale Microsoft Drucker "Microsoft XPS Document Writer" als Standarddrucker festgelegt, funktionieren beider PDF-Drucker!!!?!!!

Unglaublich. Aber das kann ja nicht die Lösung sein, dass ich keinen Netzwerkdrucker als Standarddrucker festlegen darf.

Re: Report verliert Drucker zu Laufzeit?!?

14. Dezember 2012 10:40

Hast du mal versuch den Treiber des Netzwerdruckers neu zu installieren?
Das verhalten ist jedenfalls nicht typisch für NAV auf einer Maschiene mit Netzwerkdrucker als Standarddrucker.

Re: Report verliert Drucker zu Laufzeit?!?

14. Dezember 2012 10:58

Es funktionieren nun beide PDF-Drucker wieder einwandfrei, egal ob der lokale Drucker oder der Netzwerkdrucker als Standarddrucker verwendet wird.

Leider ist der Grund der Probleme nicht ganz klar, weshalb eine kleine Unsicherheit übrigbleibt.

Der Server wurde mehrmals neu gestartet (ein Reboot tut immer gut), dies brachte aber keinen Erfolg.
Die PDF-Drucker wurden komplett deinstalliert und neu installiert, auch ohne Erfolg.
Erst nachdem der lokale IT-Partner den PDF-Drucker nochmals, ein drittes Mal parallel installiert hat und nochmals einen anderern Port angegeben hat, funktioniert nun alles einwandfrei.
Die Drucker sind nun wie folgt installiert:

Anschluss "DocPort0:" 3-Heights(TM) PDF Producer
Anschluss "DocPort1:" 3-Heights(TM) PDF Producer M2
Anschluss "DocPort2:" 3-Heights(TM) PDF Producer Mandant 2

Wenn ich nun auf den ersten und den dritten Drucker drucke, funktioniert alles wie es soll.
Der zweite Drucker wird nicht verwendet. Hier wäre es nun noch gut zu testen, was geschieht, wenn er gelöscht wird.

Der Hersteller und IT-Partner meinten, dass ev. Dynamics NAV die Drucker und Ports intern gespeichert hätten.
Da musste ich jedoch widersprechen, da wird gar nichts gespeichert. Wir haben ja höchstens die Table 78 Printer Selection und dort sind nur die Druckernamen hinterlegt.
Gedruckt wird dann auf Windows-Drucker.

Ich vermute eher ein Problem bei der Installation/Deinstallation und der Registry.
Aber eben, ganz nachvollziehen kann ich dies selber auch nicht.
Und trotz allem muss ich schon akzeptieren, dass sich auch Dynamics NAV ein wenig komisch verhalten hat.

Trotzdem vielen Dank für Eure Hinweise!