7. November 2018 11:38
Hallo Community,
ich wollte eine Logik für das automatische Speichern der Reports als PDF (nach dem Ausführen des Reports) programmieren. Ist das überhaupt möglich?
Auch wenn der Report mit einem Drucker gedruckt wurde, sollte es z.B. einen Event geben, der den Report in irgendeinem Ordner speichert.
Ich habe in der CU1 leider nichts passendes gefunden, aber ich bin nicht so erfahren in der NAV Welt.
Danke
Mark
7. November 2018 12:40
Hey,
um Reports als .PDF zu speichern gibt es die Funktion SAVEASPDF.
Siehe hier:
https://docs.microsoft.com/en-us/dynami ... n--report-Den Pfad zum speichern erzeugst du am besten dynamisch indem ihn in irgendeine Einrichtungstabelle integrierst und dann ausliest.
Dann brauchst du noch eine Logik für den Dateinamen.
Um sicherzustellen das das nur beim Druck des Report funktioniert kannst du folgende Funktionsteil nutzen:
- Code:
IF NOT CurrReport.PREVIEW THEN BEGIN
//Deine Logik zur PDF ERzeugung
END;
7. November 2018 12:47
Vielen Dank für deinen Vorschlag!
Es geht mir aber eher um eine Logik, die zentral abgelegt ist und das wirklich für jeden ausgedruckten Report tätigt. Ich wollte die Stelle nicht bei jedem der hunderten Report einzeln programmieren.
Deswegen dachte ich an der Codeunit 1. Vegleichbar mit der Funktion FindPrinter in CU 1 ApplicationManagement.
7. November 2018 12:59
Es geht mir aber eher um eine Logik, die zentral abgelegt ist und das wirklich für jeden ausgedruckten Report tätigt. Ich wollte die Stelle nicht bei jedem der hunderten Report einzeln programmieren.
das wird so nicht funktionieren.
Das jeder Report individuelle Parameter haben kann, die du sowohl für den Druck, als auch für die PDF übergeben müsstest, kommst du um eine Programmierung nicht herum.
Gruß Fiddi
7. November 2018 14:00
Das ist schade :(
Was wäre also die Alternative? Muss man bei jedem Aufruf von irgendwelchem Report im System den noch einmal mit SAVEASPDF ausführen?
Oder in jedem Report selbst im OnAfter Trigger eine Stelle hinzufügen mit dem Aufruf der SAVEASPDF Funktion?
Gibt es da nichts geschicktes?
Kann ich irgendwie so machen, dass die Funktion FindPrinter doppelt aufgerufen wird? Dann würde ich dort den PrinterName vom PDF Drucker zurückgeben können oder?
7. November 2018 19:50
Wenn es nur um bestimmte Belege geht, wir haben es bei Kunden die alle Ausgangsrechnungen und -gutschriften auch als PDF zentral abgelegt haben wollten so gelöst dass diese über einen Job in der Aufgabenwarteschlange alle in pdf gedruckt werden. Dazu ein neues Feld in der jeweiligen Belegkopftabelle dass den Druckvorgang registriert so dass man darauf filtern kann.
Schwierig wird das aber bei veränderlichen Belegen wie Aufträgen, eine Auftragsbestätigung müsste man dann z. B. über die passende archivierte Auftragsversion drucken.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.