[Gelöst] Textfeld mit Leerzeilen aus Reminder Text (294)

29. Januar 2014 18:10

Hallo zusammen,

nach der Migration von NAV 2009 R2 auf 2013 habe ich ein kleines Problem mit dem Standard-Mahn-Report (Report 117).
In der Mahnung werden die Leerzeilen des hinterlegten Reminder Textes nicht mehr angezeigt.

Der Text sieht also im gedruckten Report folgendermaßen aus:

Sehr geehrte Damen und Herren,
leider haben wir bis heute noch....
Text Text Text

statt:
Sehr geehrte Damen und Herren,
<Leerzeile>
leider haben wir bis heute noch .....
Text Text Text

Im Report ist für diesen Beschreibungstext ja nur eine Textbox vorgesehen (der Text müsste aus der Tabelle Reminder Text 294 gezogen werden). Natürlich könnte ich jetzt auch mehrere Textfelder anlegen und den Text wieder auseinandertrennen.
Das liegt doch bestimmt nur an einem Textboxattribut, das ich übersehen habe, oder?

Grüße
Christian
Zuletzt geändert von crm2013 am 4. Februar 2014 16:03, insgesamt 1-mal geändert.

Re: Textfeld mit Leerzeilen aus Reminder Text (294)

29. Januar 2014 20:23

crm2013 hat geschrieben:nach der Migration von NAV 2009 R2 auf 2013 habe ich ein kleines Problem mit dem Standard-Mahn-Report (Report 117).

Handelt es sich um den Report aus NAV 2009 R2 (nur vom System konvertiert) oder um den Report aus NAV 2013, ggf. weiter angepasst?

Re: Textfeld mit Leerzeilen aus Reminder Text (294)

30. Januar 2014 09:31

Hallo Nathalie,

es ist der Standard-Report aus Nav 2013.
Die Texte sind wie in der alten Version hinterlegt (siehe Screenshot). Entweder muss ich dort noch einen Zeilenumbruch einfügen, oder es gibt eine Option im Textfeld im Report, die ich nicht kenne/gefunden habe.
Mahntexte.JPG


Grüße
Christian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Textfeld mit Leerzeilen aus Reminder Text (294)

30. Januar 2014 10:03

crm2013 hat geschrieben:Entweder muss ich dort noch einen Zeilenumbruch einfügen, oder es gibt eine Option im Textfeld im Report, die ich nicht kenne/gefunden habe

Ohne mir den Report selbst angesehen zu haben, denke ich eher, dass für die betroffenen RDLC-Tablixzeile ein falsch gesetzter Hiddenausdruck schuld ist. Anstatt abzufragen, ob es überhaupt einen Datensatz gibt (=IsNothing(...)), wird abgefragt, ob das Feld leer ist oder nicht. Das ist ein Fehler, denn so gehen Leerzeilen verloren.

Ich schlage dir eine Lösung von Microsoft, nämlich mindenstens Update Rollup 2 für NAV 2013, vor. Dort (und in allen neueren Update Rollups) ist Report 117 korrigiert.
Falls du Partner bist (wäre schön, wenn du das in deinem Profil eintragen würdest), siehe Overview of Released Application Hotfixes for Microsoft Dynamics NAV 2013.
Wenn du Kunde bist: Overview of Released Application Hotfixes for Microsoft Dynamics NAV 2013

Re: Textfeld mit Leerzeilen aus Reminder Text (294)

30. Januar 2014 11:04

Hallo Nathalie,

vielen Dank für Deine Anregungen.
An der Visbility sollte es nicht liegen, die ist sowohl für das Textfeld als auch für die Tabellenzeile nicht gesetzt (=wird immer angezeigt). Es geht hier aus meiner Sicht eher um die Behandlung von Leerzeilen innerhalb des Gesamt-Textstrings einer Variablen (wie werden die in die Textbox übernommen).

Ein UpdateRoleup > 2 wurde eingespielt. Hier muss ich wohl nachforschen, vielleicht wurde dieser Report nicht richtig aktualisiert.

Grüße
Christian

Re: Textfeld mit Leerzeilen aus Reminder Text (294)

30. Januar 2014 11:14

crm2013 hat geschrieben:Es geht hier aus meiner Sicht eher um die Behandlung von Leerzeilen innerhalb des Gesamt-Textstrings einer Variablen (wie werden die in die Textbox übernommen).

Ich kann dir noch immer nicht folgen ;-)

So wie ich das sehe, geht es doch um folgenden Abschnitt (siehe markierte Zeile):
R117.png

Die Zeile hat (bei mir) folgenden Hiddenausdruck:
Code:
=iif(Fields!Description_IssuedReminderLine2.Value<>"",FALSE,TRUE)
- genau wie ich gesagt habe. Hier wird nur gefragt, ob etwas in der anzudruckenden Zeile steht. Leerzeilen werden somit auch eliminiert.

Probier mal folgendes als Hiddenausdruck der Zeile (nicht getestet):
Code:
=IsNothing(Fields!Description_IssuedReminderLine2.Value)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Textfeld mit Leerzeilen aus Reminder Text (294)

30. Januar 2014 12:21

Hallo Nathalie,

mmh, ja das ist die 2. Description.
Ich hatte primär die Description_IssuedReminderLine gemeint. Ist aber der gleiche Fall.
In meiner Version des Reports sind an diesen 2 Zeilen keinerlei Visibility-Flags gesetzt (es ist also nicht die Version aus dem Rollup oder da ist doch etwas mit der alten Version mitgekommen, muss ich überprüfen).

Zur Frage:
Nach meinem Verständnis sorgen die Visibility-Einstellungen in einer Zeile dafür, dass die Zeile (und damit der Inhalt der Zeile = eine Textbox) angezeigt wird, oder nicht.
Das funktioniert (der Text wird ja angezeigt, auch mehrzeilig).
Hier haben wir den Fall, dass aus der Datenbank aber ein mehrzeiliger Text (mit hinterlegten Leerzeilen) gezogen wird, der dann in einer(!) Textbox angezeigt wird (also nur ein Textstring mit mehreren Zeilen und Leerzeilen). Und hier gehen die Leerzeilen aus dem Textstring irgenwo verloren bzw. werden beim Hinzufügen zu der einen Textbox nicht interpretiert.

Ich muss mir den Original-Report aus dem Rollup besorgen, vielleicht sehe ich da, wo das Problem liegt.
Zuletzt geändert von crm2013 am 4. Februar 2014 16:04, insgesamt 1-mal geändert.

Re: Textfeld mit Leerzeilen aus Reminder Text (294)

30. Januar 2014 12:53

crm2013 hat geschrieben:Ich hatte primär die Description_IssuedRReminderLine gemeint. Ist aber der gleiche Fall.

Müsste ich mir separat ansehen; ich bleibe jetzt erst einmal beim zweiten. Hat meine vorgeschlagene Änderung denn jetzt etwas ergeben?

Nach meinem Verständnis sorgen die Visibility-Einstellungen in einer Zeile dafür, dass die Zeile (und damit der Inhalt der Zeile = eine Textbox) angezeigt wird, oder nicht.

Ja, oder geanuer gesagt: Eigenschaft Hidden sorgt dafür, dass etwas ausgeblendet wird - oder eben nicht. Default-Wert ist False, also wird es angezeigt.

Hier haben wir den Fall, dass aus der Datenbank aber ein mehrzeiliger Text (mit hinterlegten Leerzeilen) gezogen wird, der dann in einer(!) Textbox angezeigt wird
Ja, so hat es doch schon im CC funktioniert. Wenn ich z.B. in einer Liste alle Artikelnummern drucken will, habe ich trotzdem nur eine Textbox dafür.

(also nur ein Textstring mit mehreren Zeilen und Leerzeilen)

Und eben dieses "Modell" verstehe ich nicht ;-)
Die Report Engine erhält zur Laufzeit von NAV ein DataSet, das sieht so aus (bitte wirklich anschauen; ohne das Verständnis dahinter wird dir kaum mehr als ein einfacher Listen-Report gelingen).
Diese "Tabelle" wird einmal (!) von deinem "Layout" von oben nach unten gelesen und entsprechend ausgegeben.

Re: Textfeld mit Leerzeilen aus Reminder Text (294)

4. Februar 2014 16:02

Fehler gefunden.

Der Fehler lag - wie von mir vermutet - daran, dass die leeren Zeilen "irgendwo" herausgefiltert wurden (die Leerezielen sind im Dataset nämlich enthalten). Und zwar im wahrsten Sinne des Wortes: Der Fehler lag an einer falschen Filter-Einstellung im übergeordneten Tablix (der betroffenen Textbox mit der Description):

Hier wurde nicht nur nach [Type] = "0" gefiltert (also nach allen Zeilen mit dem Mahntext), sondern auch nach [Fields!Description_IssuedReminderLine.Value] NotEqual "".

Letztere Filterregel hat zur Folge, dass die leeren Zeilen aus dem Mahntext dann nicht angezeigt werden. Die Lösung war folglich, diesen Filter zu entfernen.

Der Ansatz über die Änderung der Visibility-Expression konnte in diesem Fall nicht greifen, da die relevanten Zeilen vom übergeordneten Element (Tablix) ja gar nicht mehr zur Verfügung standen, richtig?

Vielen Dank für die Anregungen zum Thema Dataset. Ich denke, ich habe jetzt ein besseres Verständnis, wie der Report aus den Daten erzeugt wird :wink:

Viele Grüße
Christian