[Gelöst] - RTC stürzt ab bei Reports mit Bildern

21. Februar 2014 11:02

Hallo zusammen

Ich habe das Problem, dass gewisse Reports den RTC zum Absturz bringen. Ich vermute das liegt daran, dass das Logo im Report pro Seite in den Speicher geladen wird und dieser dann irgendwann überläuft, da z.T. mehrere tausend Seiten gedruckt werden. Wenn man nämlich die Bilder verkleinert, also mit kleiner Auflösung arbeitet, kann das Problem etwas entschärft werden. Jedoch leidet die Qualität der Grafik darunter, was dem Kunden nicht gefällt. Und das Problem ist nur aufgeschoben, da ab einer gewissen Seitenzahl dann eben doch wieder zu viel Speicher benutzt wird.

Kennt jemand das Problem auch, bzw. hat ev. jemand eine Lösung für mich?
Zuletzt geändert von rotsch am 21. Februar 2014 14:41, insgesamt 1-mal geändert.

Re: RTC stürzt ab bei Reports mit Bildern

21. Februar 2014 11:15

Das Problem ist so alt wie der RTC selber :mrgreen: , Waldo hat hier einen Workaround bei Bildern im Report beschreiben, um das etwas zu entschärfen. Aber bei hohen Seitenzahlen ist irgendwann (leider viel zu früh :roll: ) immer "Ende der Fahnenstange".
Erst in der nächsten Version "8" soll es ein verkleinertes Dataset geben, wird bei den älteren Versionen aber auch nichts nützen.

Re: RTC stürzt ab bei Reports mit Bildern

21. Februar 2014 12:06

Danke für deine Antwort Kai.

Ich habe das mal in der beschrieben Art versucht. Aus meiner Sicht funktioniert das aber nicht.

Der Report hat 2 DataItems
Contact Mailing Group
CopyLoop

Wenn ich nun das Logo auf dem ersten DataItem aus dem CompanyInfo hole und dann mit die Tabelle mit CLEAR auf dem CopyLoop leere, erhalte ich überhaupt kein Logo mehr.

Re: RTC stürzt ab bei Reports mit Bildern

21. Februar 2014 12:44

Kleine Nachfrage:

Man kann ja Logos auch direkt im Layout des Reports einbinden. Sehe ich das richtig, dass diese dann nur einmal im Speicher liegen und dann das Problem aus der Welt wäre?

Re: RTC stürzt ab bei Reports mit Bildern

21. Februar 2014 13:57

rotsch hat geschrieben:Wenn ich nun das Logo auf dem ersten DataItem aus dem CompanyInfo hole und dann mit die Tabelle mit CLEAR auf dem CopyLoop leere, erhalte ich überhaupt kein Logo mehr.

Auf Copy-Ebene darfst du den auch nicht löschen. Wenn du unterhalb des CopyLoop weitere DataItems hast, dann musst du das dort machen - und zwar im zweiten durchlaufenden Datensatz.
Beispiel: Es handelt sich dem Lieferscheinreport mit dem Data Item Sales Shipment Line. Dann baue einen Zähler für die Datensätze dieses DataItems Sales Shipment LIne ein und leere das Bild beim zweiten (!) Datensatz.

rotsch hat geschrieben:Man kann ja Logos auch direkt im Layout des Reports einbinden. Sehe ich das richtig, dass diese dann nur einmal im Speicher liegen und dann das Problem aus der Welt wäre?
Dies ist eine Alternative, wenn das Logo nicht zwischen den einzelnen Belegnummern wechseln muss (weil z.B. Debitoren- oder Artikel-abhängig).

Re: RTC stürzt ab bei Reports mit Bildern

21. Februar 2014 14:22

Dies ist eine Alternative, wenn das Logo nicht zwischen den einzelnen Belegnummern wechseln muss (weil z.B. Debitoren- oder Artikel-abhängig).

Wenn es eine endliche Anzahl Logos ist (keine Artikelbilder), kann man das auch über Flags steuern und alle Bilder in die RDLC- Reports einbauen.
Ansonsten hilft dir nur optimieren und Datensätze reduzieren.
Gruß, Fiddi

Re: RTC stürzt ab bei Reports mit Bildern

21. Februar 2014 14:41

Vielen Dank an alle, die mir geantwortet haben. Ich habe damit Lösungen erhalten, die umsetzen kann und weiterhelfen.

Re: [Gelöst] - RTC stürzt ab bei Reports mit Bildern

21. Februar 2014 15:28

Besser als Waldo's Vorschlag ist immer, ein zusätzliches DataItem (Integer, Number Filter auf 1) ganz vorne zu erstellen und das Bild, vorausgesetzt es handelt sich um überschaubare Mengen oder das gleiche, dort zu übertragen.

Referenziert wird dann darauf per First(Fields!Picture_CompInfo.Value, "DataSet_Result"). In 2009 muss wohl auch noch mit SetData/GetData gearbeitet werden.

Selbstverständlich muss die erste Zeile dann in den Nutzdaten selbst noch ausgefiltert werden.