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.
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.
21. April 2023 12:21
Hallo Fred,
also wird das gemacht, um die Performance zu verbessern?
24. April 2023 08:06
Ja.
Je größer der Dataset, desto länger dauert der Aufbau des Reports.
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.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.