[NAS] Automatische PDF Erzeugung über Reports mit Parametern

15. Januar 2024 11:34

Hallo,
wir ziehen gerade mit unseren Systemen in ein Rechenzentrum. Zukünftig soll der NAS für die Projektwarteschlange auf einem Windows Server 2022 laufen.
Bisher hatten wir diesen auf einer Windows 10 Maschine laufen und haben für die PDF Erzeugung auf die Broadgun PDF Machine gesetzt. Unter Windows Server 2022 funktioniert bei dieser Software die Parametersteuerung aber nicht mehr (Anbieter reagiert ebenfalls nicht), sofern der Druck vom NAS ausgeführt wird.
Ich bin also auf der Suche nach einer möglichen Alternative. Derzeit war die Logik wie folgt:

Besagter NAS ist bei uns im Unternehmen für die Erzeugung von PDF Dokumenten (Rechnungen, Lieferscheine, KVAs usw) zuständig. Beim physischen Druck eines Dokumentes wird hierbei ein Eintrag in einer "PDF Queue"-Tabelle erzeugt, welche dann vom NAS abgearbeitet wird.
Dieser ruft dann den zugehörigen Report auf und druckt diesen. An Hand von bestimmten Parametern, die nur beim Druck des PDFs angedruckt werden, erkannte die PDF Machine Dateiname und Speicherpfad des Dokumentes und legt es entsprechend dort ab.

Ich suche nun eine Software, welche in der Lage ist via Parametersteuerung PDF Dokumente zu erzeugen und mittels übergebener Parameter diese unter einem bestimmten Namen an einem bestimmten Ort abzulegen. Und das Ganze dann unter Windows Server 2022.
Hat da jemand eine Idee womit das klappen könnte?
Grüße

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

15. Januar 2024 12:28

Hallo,

unter welchem Benutzer läuft denn der NAS? Hoffentlich ein Normaler Domain- User, bei dem man die Broadgun auch per normalem Login einrichten könnte!?

Gruß Fiddi

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

15. Januar 2024 12:30

Ja, als normaler Domain User, derselbe wie vorher auf der Workstation mit denselben Rechten.

Kuriosum:
Logge ich mich auf dem Rechner mit dem NAS mit dem NAS-User ein und führe die Codeunit für die PDF Erzeugung manuell aus, so funktioniert das ganze. Erst wenn der automatisierte NAS dies durchführt wird die Parametersteuerung ignoriert.

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

15. Januar 2024 13:48

Bei einem meiner Kundenprojekte ist PDFCreator Server für mehrere Reports mit dem NAS im Einsatz. Der legt die PDFs zwar immer direkt unter dem Reportnamen z.B. in C:\temp\ ab ) (bei dem einfachen PDFCreator kann man die Dateiparameter per COM sogar direkt mitgeben) aber anschließend wird das sofort einfach per RENAME umbenannt und in den jeweiligen Pfad im Netz verschoben. Das funktioniert seit Jahren reibungslos (verstärkt seit dem Brexit, der viele zusätzliche PDFs erfordert… :roll: )
Code:
  IF NOT RENAME(STRSUBSTNO('C:\temp\%1.pdf',ReportName),PathName + RenamedFileName) THEN
    // Eventuelle Fehler in Datei protokollieren
    WriteLogFileEntry('C:\Logs\PDFError.log);

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

15. Januar 2024 14:03

Hallo,

steuert ihr die Broadgun über Registry oder über Steuertext?

Es könnte sein, das die Broadgun ein Fenster öffnen möchte, was sie natürlich nicht kann, und das ganze daran scheitert. Evtl kann man ihr das abgewöhnen, damit es funktioniert.

Gruß Fiddi

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

15. Januar 2024 16:13

Danke für den Hinweis mit dem PDFCreater Server. Das muss ich mir ggf. dann mal ansehen und entsprechend alles umbauen. Wenn das aber funktioniert, dann ist es das ggf. wert. Nur ärgerlich, dass wir gerade eine Broadgun Ultimate Lizenz neu gekauft haben, weil ich zunächst dachte dass es an unserer uralten Version lag.

Wir steuern den Druck über Text, der auf dem Dokument abgebildet wird (savePath-Variable) und über die Broadgun dann entsprechend verarbeitet, aber nicht gedruckt wird. Genau das funktioniert aber nicht über den NAS auf dem Windows Server

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

15. Januar 2024 16:25

Hallo,

ich benutze die Broadgun schon seit einiger Zeit nicht mehr, da wir unsere Anforderungen mit RDLC und Report.SAVEASPDF lösen können.

Funktioniert das überhaupt nicht, oder liegt das evtl daran, das der Benutzer keinen Zugriff auf den Ausgabepfad hat?

Gruß Fiddi

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

15. Januar 2024 16:32

Daran liegt es leider nicht, bei manueller Ausführung der Codeunit (unter dem NAS User) funktioniert es. Nur wenn der Dienst (mit demselben User) die Codeunit verarbeitet klappt es nicht mehr.
Grüße
Zuletzt geändert von McClane am 16. Januar 2024 08:00, insgesamt 1-mal geändert.
Grund: Community-Knigge beachten: bitte keine Vollzitate.

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

15. Januar 2024 16:48

Hallo,

wenn du aber die Daten auf einem Netzwerklaufwerk ablegst, das du mit einem Laufwerksbuchstaben versehen hast, dann funktioniert als Dienst nicht, weil der die Laufwerksbuchstaben nicht zuordnet.
Daher musst du dort einen UNC- Pfad verwenden.

Gruß Fiddi

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 09:23

UNC-Pfad hatte ich verwendet. Habe nun testweise auch einfach mal C:\PDFs\ zum Testen hinterlegt, interessiert ihn aber genauso wenig. Ich schätze ich muss mir dann den PDFCreator Server ansehen. Preislich ist der aber natürlich eine andere Hausnummer, aber das müssen dann andere entscheiden wie wichtig ihnen diese PDFs sind :-)

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 10:45

Hallo,

macht ihr mit der Broadgun irgendwas spezielles? einen normalen Report kann man mit SAVEASPDF in einer Datei speichern.

Gruß Fiddi

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 10:58

Geht es hier eigentlich um den CC oder RTC?

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 11:33

fiddi hat geschrieben:Hallo,

macht ihr mit der Broadgun irgendwas spezielles? einen normalen Report kann man mit SAVEASPDF in einer Datei speichern.

Gruß Fiddi


Hallo,
eigentlich machen wir nichts spezielles. Der NAS druckt aktuell den Report über den Windows Standarddrucker (Broadgun).
Das mit dem SaveAsPDF war mir gar nicht so bewusst, habe es gerade mal ausprobiert:

Code:
lrc_SH.GET(lrc_SH."Document Type"::Order,'80263445');
lrc_SH.SETRECFILTER;
repDeliveryNotice.SETTABLEVIEW(lrc_SH);
repDeliveryNotice.USEREQUESTFORM := FALSE;
repDeliveryNotice.SAVEASPDF('\\DEFLIZWAPP1001\PDF Creation\Test.pdf');
repDeliveryNotice.RUNMODAL;


Bei manueller Ausführung öffnet sich dann allerdings das "Speichern unter"-Fenster, ich hatte gehofft der SAVEASPDF-Parameter würde dies unterbinden.
Getestet habe ich es im Classic Client, perspektivisch soll der Navision Application Server diese Aufgabe übernehmen.
Grüße

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 11:43

Hallo,

lass das mit dem RunModal mal weg. Die PDF sollte er vorher schon erstellt haben.

Und wenn er dich sofort nach dem Namen fragt, dann könnte eine fehlende Berechtigung für den Benutzer in dem Verzeichnis die Ursache sein.

Gruß Fiddi

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 11:53

Gerade getestet. Um das Netzwerk bzw. die Namensauflösung als Fehler auszuschließen habe ich den Speicherpfad nochmal "lokalisiert".
Code:
lrc_SH.GET(lrc_SH."Document Type"::Order,'80263445');
lrc_SH.SETRECFILTER;
repDeliveryNotice.SETTABLEVIEW(lrc_SH);
repDeliveryNotice.USEREQUESTFORM := FALSE;
repDeliveryNotice.SAVEASPDF('C:\temp\Test.pdf');
//repDeliveryNotice.RUNMODAL;


Ohne das Runmodal passiert allerdings scheinbar nichts, es wird zumindest nichts erstellt (mit Runmodal kommt das Abfragefenster).
Grüße

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 11:57

FlensGold hat geschrieben:Getestet habe ich es im Classic Client

SAVEASPDF funktioniert nur mit dem RTC.
Mit dem CC eventuell über Klimmzüge via Webservices.
viewtopic.php?t=20690
https://forum.mibuso.com/discussion/31544/running-job-queue-through-nav-web-service-for-unlimited-comp/p1
https://web.archive.org/web/20100531060857/http://blogs.msdn.com/b/freddyk/archive/2010/01/22/connecting-to-nav-web-services-from-microsoft-dynamics-nav-2009-sp1.aspx

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 12:47

Okay, danke. Bedeutet dann aber auch, dass die Reports allesamt RTC-konform sind, richtig? Haben es gerade mal via Webservice getestet und erhalten entsprechenden RDLC-Fehler.
Der RTC ist hier kaum im Einsatz, die Reports um die es geht wurden allesamt (vor Jahren) nur für den CC entwickelt, von RDLC nicht die Spur. Also wieder einen Schritt zurück:

Mir würde es reichen ein PDF Tool zu haben, welches einen über den NAS gedruckten Bericht automatisch über den Windows Standarddrucker druckt und diese Datei dann - meinetwegen - auch unter einem fixen Pfad / Dateinamen hinterlegt. Ich könnte dann nach Erzeugung via Code die Datei umbenennen und verschieben.

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 13:57

Wir nutzen dafür PDF24.

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 14:55

Habe das gerade getestet. Sieht schon mal super aus, läuft auf dem Server und erzeugt die PDF Dokumente auch automatisiert über den NAS!
Ich würde nun dahingehen und meine Funktionen zum Druck dahingehend umbauen, dass ich nach dem Druck (Ablage des PDFs unter fixem Dateinamen) diese Datei umbenenne und verschiebe.
Oder wie habt ihr das gelöst? Ich kann als Platzhalter für den Dateinamen zwar "$filename" angeben, in dem Fall speichert er das Dokument unter dem Namen des Reports.

Bin auf jeden Fall schon mal einen großen Schritt weiter. Vielen Dank euch!

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

16. Januar 2024 15:15

Wir machen das auch so, wie es Dir vorschwebt. Abspeichern unter festem Namen, warten, bis die Datei existiert, dann umbenennen und an den richtigen Ort verschieben.

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

17. Januar 2024 16:03

McClane hat geschrieben:Wir machen das auch so, wie es Dir vorschwebt. Abspeichern unter festem Namen, warten, bis die Datei existiert, dann umbenennen und an den richtigen Ort verschieben.


Ich habe es nun auch so umgesetzt, klappt prima. Nur ein einziges Problem sehe ich aktuell noch: Wir nutzen Barcodes (Code 39) auf einigen der Belegen. Diese Schriftart ist auf dem Rechner (auch unter dem NAS-User) installiert.
Bei manueller Ausführung der Codeunit zur PDF Erzeugung klappt das auch, der Barcode wird gedruckt. Wird der Druck allerdings über den NAS ausgelöst, so wird nur der Klartext samt Steuerzeichen (**) im PDF dargestellt.
Hat da zufällig noch jemand einen Tipp?

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

17. Januar 2024 16:40

so wird nur der Klartext samt Steuerzeichen (**) im PDF dargestellt.

Ist der Server nach der Installation des Barocodefonts neu gestartet worden?

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

17. Januar 2024 16:41

Kowa hat geschrieben:Ist der Server nach der Installation des Barocodefonts neu gestartet worden?


Ja, hatte ich eben schon getestet, ob es ggf. daran liegen könnte.

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

17. Januar 2024 17:09

Hallo,

könnte Font- Embedding das Thema sein.

Gruß Fiddi

Re: [NAS] Automatische PDF Erzeugung über Reports mit Parame

18. Januar 2024 10:41

Wurde der NAS-Dienst ebenfalls neu gestartet?