30. Oktober 2021 07:33
Hallo,
egal was du tust, es ist mit dem RTC ein sportliches Unterfangen eine so große Rechnung ausdrucken zu wollen.
Aber du kannst ein paar Dinge probieren, die dir evtl. helfen es doch zu schaffen.
Dazu sollte man einiges berücksichtigen:
- RDLC arbeitet im Hintergrund mit XML die wird irgendwann sehr groß, und das XML-Handling auf deinem Client kann die Daten u.U. nicht mehr verarbeiten weil der Speicher zu klein ist (oder nur 32bit, ich weiß im Moment nicht wann MS den Client auf 64bit umgestellt hat). Was du jetzt tun kannst, ist die Anzahl der Felder und Datendätze zu reduzieren. D.h. wenn du z.B. einen Textbaustein ausdrucken willst, der einer Zeile zugeordnet ist, kannst du das beireits im C/AL zu einer Textvariable zusammenfassen, die du im Datensatz der eigentlichen Zeile mit übergibst. Das spart die Datensätze für jede einzelne Textzeile.
- Wenn es möglich ist, füge das Logo direkt in den RDLC- Report ein, und übergib es nicht als Feld, und schon gar nicht als BMP sondern als PNG oder JPG. Das wird das XML, je nach Reportstruktur, um einiges verkleinern.
- Führe den Bericht auf dem Server aus z.B. mit SAVEASPDF. Dort kannst du sicher sein, dass das ganze in einer 64bit- Umgebung läuft.
- Verkürze die übergebenen Parameternamen (also die rechte Spalte "Name" in der C/AL Übesicht). Das reduziert die Größe der erzeugten Textdatei, und damit auch des benötigten Speichers beim Einlesen
- Zu guter Letzt kannst du noch versuchen, die Struktur des Reports zu optimieren, um das XML möglichst klein zu halten.
Ansonsten kannst du dir nur einen Spezial-Report schreiben, bei dem du die zu druckenden Zeilen filtern kannst. Der sollte dann in der Lage sein die Seiten von 1-50, 51-100,.. auszudrucken. Aber ob das überhaupt möglich ist, hängt auch ein wenig von dem ab was du Ausdrucken willst und musst.
Gruß Fiddi