.pdf aus Blob drucken

31. Oktober 2016 13:06

Hallo zusammen,

Problem 1:
a. Ich streame einen Report als .pdf in ein Blob-Feld.
b. Nun möchte ich den Inhalt des Blob-Feldes im Nachgang ausdrucken/anzeigen. (Möglichst ohne zusätzlichen Report)

Gibt es hierzu Best-Practice Beispiele? Evtl. sogar im Standard?

Problem 2:
Während des Streames des Reports ins "Empfänger"-Blob Feld gehen die auf dem Report enthaltenen Blob-Felder (z.B. CompanyPicture) verloren und werden bei dem Auslesen des "Empfänger".Blob Feldes nicht richtig angezeigt. Das sieht erstmal so aus als wenn ein "CALCFIELDS" fehlen würde, was jedoch im Report geschieht. Hat hierzu jemand eine Idee?

Danke für die Hilfe!

Re: .pdf aus Blob drucken

31. Oktober 2016 14:49

Hallo,

zu Problem 1: Da musst du die PDF- Datei auf den Client herunterladen (CU 419) und dann mit einem PDF-Reader deiner Wahl ausdrucken.

Zu Problem 2: Es kann auch ein CALCFIELDS zu viel sein. Manchmal werden BLOBs in einem Record der Tabelle "Temp BLOB" gespeichert, dieser aber nicht in der Tabelle physikalisch gespeichert. Wenn man jetzt CALCFIELDS aufruft, wird versucht, den BLOB neu zu lesen. Da in der Tabelle nichts steht, ist der BLOB danach leer. Wenn HASVALUE auf den BLOB TRUE liefert, und nach dem CALCFIELDS FALSE, dann ist das der Fall.

Gruß Fiddi

Re: .pdf aus Blob drucken

31. Oktober 2016 15:32

zu 1: Danke, werde ich mir ansehen!

zu 2: Das ist meine Funktion, siehst du hier einen Fehler?

Code:
ReportID := REPORT::xy;
TempBlob.Blob.CREATEOUTSTREAM(OutStream);
RecRef.GETTABLE(ServiceHeader);
REPORT.SAVEAS(ReportID,'',REPORTFORMAT::Pdf,OutStream, RecRef);
ServiceHeader.FIND('=');
ServiceHeader."xy" := TempBlob.Blob;
ServiceHeader.MODIFY;

Re: .pdf aus Blob drucken

31. Oktober 2016 15:43

Hallo,

sieht erst einmal OK aus.
Wie sieht denn der Bericht aus, wenn du ihn zusätzlich mal in einer Datei abspeicherst?.

FRAGE: Was bringt es einen Bericht als BLOB zu speichern, den man jederzeit neu drucken kann, und der nach dem Buchen des Beleges u.U. gelöscht wird?

Gruß Fiddi

Re: .pdf aus Blob drucken

31. Oktober 2016 16:32

Damit will ich genau dieses Problem umgehen, dass ich den Auftrag nicht mehr drucken kann, wenn er schon gelöscht ist. Der Bericht ist i.O. wenn ich ihn ganz normal als Report abspiele.

Re: .pdf aus Blob drucken

31. Oktober 2016 17:11

Sorry,

wenn der Auftrag gelöscht ist, dann ist nach deinem Beispiel aber auch der BLOB weg :!: :?: :?: :wink:

Passieren in deinem Report noch irgendwelche Abfragen? Was passiert, wenn du einen der Standard- Reports benutzt?

Gruß Fiddi

Re: .pdf aus Blob drucken

31. Oktober 2016 17:21

Vielleicht habe ich mich falsch ausgedrückt:

- Auftrag wird gebucht -> ganz am Anfang der Buchungsroutine wird der Auftrag als Report in ein Blob-Feld des gleichen Auftrags gestreamt
- Über TRANSFERFIELDS landet dieses Blob-Feld auch in den gebuchten Belegen. Von hier soll später der initiale Auftrag gedruckt werden können.

Das funktioniert soweit auch ganz gut. Nur die Blob-Felder auf dem Report werden nicht richtig in das neue Blob-Feld gestreamt. Heißt wenn ich das neue Blob-Feld lese sieht der Report gut aus, nur die Blob-Felder werden nicht richtig angezeigt.

Re: .pdf aus Blob drucken

31. Oktober 2016 17:34

Ok, das sieht dann schon anders aus.

Was passiert denn, wenn du den PDF-BLOB über den Umweg der externen Datei erzeugst. Du sagtest ja, die gespeicherte PDF- Datei ist OK. Wenn du diese Datei wieder einließt, ist dann der angezeigte BLOB auch OK, oder ist das Problem gar nicht das erzeugen der PDF, sondern das Anzeigen!?

Gruß Fiddi