[Gelöst]CompanyInfo.Picture in Report 1307

21. April 2023 11:17

Hallo,
kann mir jemand sagen, warum das Firmenlogo in Report 1307 erst in der Tabelle TempBlob gespeichert und dann wieder in das Feld CompanyInfo.Picture zurück übertragen wird?

Code:
OnInitReport()
GLSetup.GET;
CompanyInfo.SETAUTOCALCFIELDS(Picture);
CompanyInfo.GET;
SalesSetup.GET;
CompanyInfo.VerifyAndSetPaymentInfo;
TempBlobCompanyLogo.Blob := CompanyInfo.Picture;
TempBlobCompanyLogo.INSERT;



Code:
Line - OnPreDataItem()
VATAmountLine.DELETEALL;
VATClauseLine.DELETEALL;
ShipmentLine.RESET;
ShipmentLine.DELETEALL;
MoreLines := FIND('+');
WHILE MoreLines AND (Description = '') AND ("No." = '') AND (Quantity = 0) AND (Amount = 0) DO
  MoreLines := NEXT(-1) <> 0;
IF NOT MoreLines THEN
  CurrReport.BREAK;
SETRANGE("Line No.",0,"Line No.");
TransHeaderAmount := 0;
PrevLineAmount := 0;
FirstLineHasBeenOutput := FALSE;
CompanyInfo.Picture := TempBlobCompanyLogo.Blob;


Ich würde die Funktion gerne in abgewandelter Form für einen kundenspezifischen Report nutzen, würde sie aber vorher gerne einmal verstehen
Zuletzt geändert von FragenFrager am 27. April 2023 09:46, insgesamt 1-mal geändert.

Re: CompanyInfo.Picture in Report 1307

21. April 2023 12:15

in BC21.5 wird das über DummyCompanyInfo statt TempBlobCompanyLogo gehandelt.

in BC21.5 wird das Konstrukt genutzt um den Dataset kleiner zu machen.
Es soll nicht in jeder Dataset Zeile das Bild übertragen werden.

Re: CompanyInfo.Picture in Report 1307

21. April 2023 12:21

Hallo Fred,
also wird das gemacht, um die Performance zu verbessern?

Re: CompanyInfo.Picture in Report 1307

24. April 2023 08:06

Ja.

Je größer der Dataset, desto länger dauert der Aufbau des Reports.

Re: CompanyInfo.Picture in Report 1307

24. April 2023 08:40

Danke für die Info.
Allerdings habe ich anscheinend noch ein anderes Problem: An dieser Stelle muss ich vielleicht etwas weiter ausholen. Ich möchte einen Briefbogen für die Gelangensbestätigung (Report 780) hinterlegen Dieser liegt als PDF an einem Speicherort und wird zur Laufzeit geholt. Ich müsste ihn also als Background-Image hinterlegen(?). Bloß, wie mache ich das?
In ForNav-konvertierten Reports wird das PDF als Blob in der TempBlob gespeichert, ein InStream erzeugt und dieser an die entsprechende ForNav-Funktion geschickt.
Den Report 780 habe ich jedoch noch nicht konvertiert, es handelt sich also noch um das RDLC-Layout.
Wenn ich das Blob temporär in der CompanyInfo-Tabelle speichere und für das BackgroundImage als Source Database angebe, wird das Logo des Briefbogens nicht angezeigt.
Versuche ich, den InStream als globale Variable unter den DataItems zu platzieren, damit ich als Source für das Background-Image Embedded auswählen kann, bekomme ich die Meldung, dass InStream keine gültige Spaltenart ist.
Gerade bin ich etwas ratlos.