[GELÖST] Report:teilweise kein Ausdruck im NOT-PREVIEW-Modus

28. Mai 2013 18:43

Ich habe einen kundepspez. VK-Auftrag-Report mit folgendem Verhalten:
in der Seitenansicht wird alles korrekt gedruckt. Wenn ich den Report direkt an den Drucker sende, dann wird nur der Zeilenbereich gedruckt, im Kopfbereich (Firmenlogo, Debitoradresse usw.) ist alles leer. Alle Felder in diesem Bereich haben im Ausdruck die code.GetData-Funktion. Wenn ich in diesem Kopfbereich eine Test-Texbox erstelle z.B. mit TODAY-Ausgabe im Ausdruck, dann wird diese ganz normal sowohl im Vorschau- als auch im Druck-Modus ausgegeben. Meine Vermutung ist, dass etwas mit der Steuerung diese GetData-Funktion nicht stimmt.
Hat jemand eine Idee was hier falsch läuft?
Anmerkung: habe vorsichtshalber im Report ganze Programmierung, die irgendwie mit CurrReport.PREVIEW arbeitet, deaktiviert - hat nichts gebracht.
Zuletzt geändert von Jupiter am 4. Juni 2013 15:32, insgesamt 2-mal geändert.

Re: NAV2013 Report: teilweise kein Ausdruck im NOT-PRIVIEW-M

28. Mai 2013 18:51

Hi,

schau mal bitte in einen Standardreport wie 206. Mit 2013 muss der SetData in die Hidden Expression anstatt in die Expression selbst. Nicht verges en im Code dann TRUE zurueckzugeben.

Re: NAV2013 Report: teilweise kein Ausdruck im NOT-PRIVIEW-M

29. Mai 2013 08:53

Wenn ich mir im Standard2013-Report 206 beliebiges Textbox im Kopfbereich anschaue, dann steht in der Hidden-Eigenschaft kein Ausdruck mit SetData() oder sonstiges sondern schlicht FALSE?

Re: NAV2013 Report: teilweise kein Ausdruck im NOT-PRIVIEW-M

29. Mai 2013 10:38

Hallo Jupiter,

kannst du bitte im Kopf das versteckte Feld hinter dem linken Logo nochmal ansehen. Bei mir finde ich da einen Hidden-Ausdruck wie beschrieben...

SetData.png


Eventuell ist auch dein DataSet anders als erwartet und enthält nicht überall Werte.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: NAV2013 Report: teilweise kein Ausdruck im NOT-PRIVIEW-M

29. Mai 2013 13:08

Hallo Carsten,
in meinem Report fehlte tatsächlich die von Dir angesprochen Textbox mit dem SetData-Ausdruck. Ich habe diese in meinem Report hinzugefügt, auch mit demselben SetData-Ausdruck, Ergebnis: es hat sich nichts geändert. Und wenn mein DataSet nicht überall Werte haben sollte, warum sehe ich denn alle Werte im Vorschau-Modus (Firmenlogo, Belegkopfdaten, Debitorenadresse)? Ich meine, wenn mein DataSet nicht vollständig wäre, dann würde ich die Daten nicht sehen, egal im Vorschau-Modus oder beim Senden direkt an den Drucker? Wenn Du recht hast (mit SetData): wie ist der Zusammenhang zw. dieser SetData-Steuerung und dem Modus des Berichts (Vorschau oder direktes Drucken)?

Re: NAV2013 Report: teilweise kein Ausdruck im NOT-PRIVIEW-M

30. Mai 2013 20:01

Hat noch jemand eine Idee, was im Report im NOT PRIVIEW-Modus falsch läuft?

Re: NAV2013 Report: teilweise kein Ausdruck im NOT-PRIVIEW-M

30. Mai 2013 20:08

SetData funktioniert nicht mit nummerischen Werten bzw. boolean.
Finde im Textkörper die (versteckte) Textbox, welche die anzuzeigenden Felder enthält. Der Inhalt sieht typischerweise so aus:
=Fields!....Value + Chr(177) + Fields!...Value + Chr(177) usw.
Der Trick ist jetzt: Finde unter diesen Feldern solche, welche Boolean- oder nummerische Werte repräsentieren und wandle sie mit CStr(...) in Text um.
Wo nötig, wandle sie in den Header-Textboxen (da wo GetData verwendet wird) wieder in den ursprünglichen Datentyp (z.B. mit CInt) zurück.

Re: NAV2013 Report: teilweise kein Ausdruck im NOT-PRIVIEW-M

31. Mai 2013 08:58

Jupiter hat geschrieben:Und wenn mein DataSet nicht überall Werte haben sollte, warum sehe ich denn alle Werte im Vorschau-Modus (Firmenlogo, Belegkopfdaten, Debitorenadresse)? Ich meine, wenn mein DataSet nicht vollständig wäre, dann würde ich die Daten nicht sehen, egal im Vorschau-Modus oder beim Senden direkt an den Drucker? Wenn Du recht hast (mit SetData): wie ist der Zusammenhang zw. dieser SetData-Steuerung und dem Modus des Berichts (Vorschau oder direktes Drucken)?

Es wird zuerst der Body gerendert und dann über SetData auf diesen Content verwiesen bzw. dieser gelesen. Je nachdem wo das Control mit dem zusammengebauten Text auf der Seite liegt, kann der jeweilige Datensatz der dort genutzt wird ein anderer sein, da unsichtbare Felder am Ende, nach allen anderen, gerendert werden und in der Vorschau bzw. im interaktiven Modus die Seitenlängen andere sind.
Funktioniert vielleicht ein First() oder Last() und sind im ersten bzw. letzten die entsprechenden Daten vorhanden?

Re: NAV2013 Report: teilweise kein Ausdruck im NOT-PRIVIEW-M

4. Juni 2013 15:30

Mit der Kombination aus zwei unsichtbaren Textboxen(1: mit dem SetData()-Ausruck in der Hidden-Eigenschaft; 2: mit dem =Fields!CustAddr_1_.Value + Chr(177)... im Ausdruck) hat jetzt der Druck des Kopfbereiches auch im NOT-PREVIEW-Modus funktioniert.
Fazit:
ist das Ganze nicht etwas hirnrissig nur um ein Paar Textfelder anzudrucken, die im Preview-Modus doch korrekt erscheinen? Die RDLC-Berichtsprogrammierung ist seit RTC eine Katastrophe.

Re: [GELÖST] Report:teilweise kein Ausdruck im NOT-PREVIEW-M

4. Juni 2013 21:01

Hallo Jupiter,

auch wenn ich dir bezüglich der Komplexität für einige Anforderungen Recht gebe, was sicherlich der Tatsache geschuldet ist, dass der Report Viewer für ganz andere Zwecke entwickelt wurde und dort recht gut nutzbar ist, so sind es doch in vielen Fällen Maßnahmen, an die man sich entsprechend halten muss.

Es ist zum Beispiel nicht zwingend erforderlich, die von dir genannten Daten im Page Header unterzubringen, auch wenn wir diese Variante im Standard (noch) gewählt haben. Nutze einfach den Body für allgemeine Header-Daten. Spart ggf. auf Folgeseiten auch Platz, wenn dort die Informationen nicht mehr angedruckt werden sollen.

Das hat auch nichts mit "hirnrissig" zu tun, sondern mit der Art und Weise, wie die Daten verarbeitet werden. Ziel kann und muss hier einfach nur sein, sich zu arrangieren. Denn sich darüber aufregen, das kennen wir, hilft einem kurzzeitig um Luft zu bekommen, bringt uns aber definitiv nicht über längere Strecken weiter.

Machen wir also das Beste daraus, oder?