[GELÖST]: RDLC-Layout, Prpblem mit dem eingerücktem DataItem

21. Mai 2013 20:07

NAV 2009, RTC:
Ich muss einen Report erweitern, der nicht von mir erstellt wurde. Der Report ist ähnlich strukturiert wie der Standard-Repor 205 (Verkaufskopf, Verkaufszeilen usw.).
Wenn ich unter dem VK-Zeilen-DataItem einen neuen eingerückten DataItem einfüge (also genau so eingerückt wie z.B. DimensionLoop2 im Report 205), um ein Paar zusätzlichen Informationen je VK-Zeile auszugeben, dann erfolgt in der RTC-Seitenansicht des Reports die Ausgabe jeder VK-Zeile genau so oft wie oft der neu erstellte eingerückte DataItem durchlaufen wird, was natürlich nicht gewollt ist. In der CC-Ausgabe ist alles OK.
Frage:
wie kann ich dieses Fehlverhalten im RDLC-Layout unterbinden, so dass die VK-Zeilen korrekt jeweils nur ein Mal gedruckt werden?
Ich habe im VisualStudio im RDLC-Layout mir alles mögliche angeschaut, komme nicht auf die Ursache. Dabei ist es egal, ob der neue eingerückte DataItem mit dem übergeordneten VK-Zeilen-DataItem per DataItemLink verbunden ist oder nicht. Ich habe testweise auch einfach einen eingerückten Integer-DataItem erstellt mit MaxInteration=5, Ergebnis: jede VK-Zeile (übergeordneter DataItem) wird im RTC 5 Mal gedruckt. Wenn ich dasselbe im Standard-Report 205 mache, dann hat dies keine Auswirkungen auf den übergeordneten VK-Zeilen- DataItem, diese werden nach wie vor korrekt jeweils nur ein Mal gedruckt.
Einfach den bestehenden Report 205 zu nehmen und mit dem den neuen angepassten Report ersetzen und die kundenspezifischen Anpassungen nachziehen geht nicht, das wäre zu aufwendig.
Zuletzt geändert von Jupiter am 24. Mai 2013 19:10, insgesamt 1-mal geändert.

Re: RDLC-Layout, Prpblem mit dem eingerücktem DataItem

21. Mai 2013 21:08

Ein ähnliches Problem hatten wir auch mal, haben wir seinerzeit über VB-Code behoben, der die Eindeutigkeit der Zeile prüfte und ggf. den Ausdruck beim Mehrfachdurchlauf unterdrückte, siehe hier.

Re: RDLC-Layout, Prpblem mit dem eingerücktem DataItem

21. Mai 2013 21:09

Jupiter hat geschrieben:wie kann ich dieses Fehlverhalten im RDLC-Layout unterbinden, so dass die VK-Zeilen korrekt jeweils nur ein Mal gedruckt werden?

Als erstes solltest du verstehen, wie dieses Verhalten zustande kommt. Hierzu schaue dir dein DataSet in Excel an: viewtopic.php?p=89591#p89591

Jede einzelne Zeile dieses Datasets wird gedruckt, wenn du das im Rahmen deines Layouts nicht durch Filter-, Gruppierungs- oder Hiddenausdrücke unterbunden wird.
Möchtest du, dass VK-Zeilen nur einmal gedruckt werden, brauchst du eine Gruppe, die nach den Primärschlüsselfeldern (der Sales Line) gruppiert. Die Sales Line darf dann nur in dieser Gruppe ausgegeben werden und nicht etwa im Detailzeilen-Bereich. In den Detailzeilenbereich dürfen nur noch die beiden ganz rechten DataItems rein, also die Dimensionen und dein neues DataItem.
Zuletzt musst du dafür sorgen, dass du z.B. die Zeile der Dimensionsinfos nur dann druckst, wenn es auch Daten anzudrucken ist. Auch das kannst du nur verstehen, wenn du lernst, wie dein DataSet aufgebaut ist.

Ich habe im VisualStudio im RDLC-Layout mir alles mögliche angeschaut, komme nicht auf die Ursache. Dabei ist es egal, ob der neue eingerückte DataItem mit dem übergeordneten VK-Zeilen-DataItem per DataItemLink verbunden ist oder nicht.

Korrekt. NAV übergibt Visual Studio einmalig das DataSet. Die Anzahl der Datensätze hängt einzig davon ab, wie die DataItems eingerückt sind und wie oft ein Datensatz gefunden wird. Ob und wie die miteinander in Verbindung stehen, kann Visual Studio völlig egal sein. Bitte "verheirate" nicht NAV mit seiner Logik und Visual Studio. Sie haben einen völlig unterschiedlichen Lösungsansatz, mit je Vor- und Nachteilen. Geimeinsam ist ihnen nur das DataSet, dass NAV einmalig überreicht.

Vielleicht solltest du dir das auch noch ansehen: http://www.libertygrove.com/microsoft-d ... -datasets/
Und natürlich die Schulungsunterlage, wenn du Zugriff hast (gibts sowohl auf der PartnerSource als auch CustomerSource): viewtopic.php?p=90959#p90959

Re: RDLC-Layout, Prpblem mit dem eingerücktem DataItem

23. Mai 2013 21:06

Natalie hat geschrieben:Die Sales Line darf dann nur in dieser Gruppe ausgegeben werden und nicht etwa im Detailzeilen-Bereich. In den Detailzeilenbereich dürfen nur noch die beiden ganz rechten DataItems rein, also die Dimensionen und dein neues DataItem.

Vielen Dank, genau das war die Ursache: die VK-Zeilen wurden im Detailzeilenbereich ausgegeben. Kaum habe ich die Ausgabe der VK-Zeilen aus dem Detailbereich in eine Gruppe verschoben, wurden diese korrekt ausgegeben (also jede VK-Zeile nur ein Mal)!
Jetzt kommt aber noch das nächste Problem:
aus meinem neu erstellten DataItem (eingerückt unter dem VK-Zeilen-DataItem) wird nur der aller erste gefundene Datensatz ausgegeben und die nachfolgenden nicht, obwohl definitiv dieser DataItem mehr als 1 Mal durchlaufen wird und in jedem Datensatz Daten zum Ausgeben da sind. In CC werden natürlich korrekt alle ausgegeben.
Die Ausgabe der Daten aus diesem DataItem habe ich unter der VK-Zeilen-Gruppe im Detailbereich implementiert. In der Visibilty-Eigenschaft habe ich nichts eingetragen (also Hidden=False). Was kann die Ursache sein?

Re: RDLC-Layout, Prpblem mit dem eingerücktem DataItem

24. Mai 2013 08:50

Jupiter hat geschrieben:aus meinem neu erstellten DataItem (eingerückt unter dem VK-Zeilen-DataItem) wird nur der aller erste gefundene Datensatz ausgegeben und die nachfolgenden nicht, obwohl definitiv dieser DataItem mehr als 1 Mal durchlaufen wird und in jedem Datensatz Daten zum Ausgeben da sind. In CC werden natürlich korrekt alle ausgegeben.
Die Ausgabe der Daten aus diesem DataItem habe ich unter der VK-Zeilen-Gruppe im Detailbereich implementiert. In der Visibilty-Eigenschaft habe ich nichts eingetragen (also Hidden=False). Was kann die Ursache sein?

Hm, auf den ersten Blick ist das echt seltsam.
Hat die Detailgruppe vielleicht einen Filter? Oder gar einen Gruppierungsausdruck? Wenn ja, löschen. Da sich nun zwei DataItems die Detailgruppe teilen, daf die Sichtbarkeit allein über den Hiddenausdruck der Zeilen gesteuert werden.
Und nur zur Sicherheit: in deinem DataSet sind alle Zeilen korrekt enthalten?

Re: RDLC-Layout, Prpblem mit dem eingerücktem DataItem

24. Mai 2013 19:13

Natalie hat geschrieben:Hat die Detailgruppe vielleicht einen Filter? Oder gar einen Gruppierungsausdruck? Wenn ja, löschen. Da sich nun zwei DataItems die Detailgruppe teilen, daf die Sichtbarkeit allein über den Hiddenausdruck der Zeilen gesteuert werden.

Habe den Gruppierungsausdruck in meiner Detailgruppe gelöscht und schon werden alle gewünschten Datensätze angezeigt.
Danke!