[gelöst] Fehler bei Ausführung Report: Falscher Parameter

31. Juli 2018 16:01

Hallo,

wir verwenden NAV 2016.
Ich versuche eine Codeunit in einer Aufgabenwarteschlage laufen zu lassen. Diese Codeunit druckt über einen Report ein Deckblatt aus.
Code:
PrintReport(Recode : Record "Entry List")
// Deckblatt drucken

Record.SETRANGE("Entry No.", Record."Entry No.");

Record.SETRANGE(Usage, Record.Usage::"Cover Sheet");
Record.SETFILTER("Report ID",'<>0');
Record.FIND('-');
REPEAT
  REPORT.RUN(ReportSelection."Report ID", FALSE, TRUE, Record);
UNTIL Record.NEXT = 0;


Wenn der Aufgabenwarteschlagenposten manuell ausgeführt wird, druckt NAV das Deckblatt auf meinem lokalen Standarddrucker.
Wenn der Aufgabenwarteschlagenposten automatisch ausgeführt wird (also im Hintergrund auf dem Server), soll der Ausdruck auf einem zentralen Bürodrucker kommen. Es erscheint aber im Protokoll die Fehlermeldung "Falscher Parameter" (siehe Anhang).

Wir haben bereits geprüft, dass der User, unter dem der Aufgabenwarteschlagen Dienst läuft, auf dem Server den richtigen Standarddrucker eingestellt hat. Testdrucke kommen erfolgreich heraus.
Der Report war vorher im RDL Design, wurde jetzt aber auf eine Report Designer Software umgestellt. Der Fehler trat aber beides mal auf.

Hat jemand schon mal mit der Fehlermeldung "Falscher Parameter" zu tun gehabt? In welche Richtung kann man noch suchen?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von luninaut am 1. April 2019 16:11, insgesamt 3-mal geändert.

Re: Fehler bei Ausführung Report: Falscher Parameter

31. Juli 2018 22:18

Kann es sein, dass der Benutzer (Aufgabenwarteschlange) auf dem Server keinen Standarddruck hat?

Um wirklich einen entsprechenden Test zu machen, solltest du dich mit Benutzer der Aufgabenwarteschlange am NAV Server anmelden und dort die Warteschlange ausführen. Ich halte es für realistisch, dass einfach kein oder der falsche Drucker (falls Druckerauswahl hinterlegt ist) verwendet wird.

VG

Re: Fehler bei Ausführung Report: Falscher Parameter

1. August 2018 10:19

Danke für den Hinweis. Das hatte ich noch nicht versucht.
Ich habe mich jetzt mit demselben User, unter dem auch die Warteschlage läuft, auf dem Server angemeldet. Wenn ich den Aufgabenwarteschlagenposten auf dem Server manuell starte, läuft alles glatt durch. NAV scheint den Standarddrucker also grundsätzlich zu finden.

Aber bei automatischer Ausführung des Aufgabenwarteschlagenposten bekomme ich wieder die Fehlermeldung "Falscher Parameter" im Protokoll.

Zum Test habe ich die Zeile Code "REPORT.RUN(ReportSelection."Report ID", FALSE, TRUE, Record);" umgestellt auf "REPORT.RUN(ReportSelection."Report ID", FALSE, FALSE, Record);", damit sich NAV den Drucker über die Druckerauswahl holt, welche ich entsprechend gepflegt habe. Aber dasselbe Ergebnis ("Falscher Parameter").
Zuletzt geändert von luninaut am 1. April 2019 16:10, insgesamt 1-mal geändert.

Re: Fehler bei Ausführung Report: Falscher Parameter

1. August 2018 12:35

Versuch doch mal vor dem Aufruf ein SLEEP(5000) einzubauen und dann die Hintergrundsession zu debuggen.

Das geht auch, wenn man den haken an der NST (NAS) setzt. Dann wartet die Aufgabenwarteschlange einen kurzen Moment mit der Ausführung. Vielleicht gibt der Debugger einen Rückschluss darauf, warum das nicht funktioniert.

Re: Fehler bei Ausführung Report: Falscher Parameter

5. September 2018 14:56

Wie es sich nach langer Analyse herausgestellt hat, lag der Fehler im Druckertreiber.
Wir konnten das nachstellen, indem wir die Ausgabe auf einen anderen (neuen) Drucker umgestellt haben.
Hier wurde beim originalen Standarddrucker ein universal Treiber und nicht ein spezieller von Microsoft verwendet. Dieser Treiber scheint Unterschiede zu machen, ob der Druckjob von einem angemeldeten oder nicht aktiven Anwender kommt.
Nach Installation eines neuen Druckertreibers funktioniert der Ausdruck auch aus der Aufgabenwarteschlange heraus.