29. August 2020 13:33
Guten Tag Zusammen,
ich habe eine Frage.
Ich habe folgenden aufbau inneralb eines Reports:
DataItem1 (Ebene 0)
- AttributA
- AttributB
- AttributC
- DataItem2 (Ebene 1 -> also DateItem1 untergeornet
-- AttributD
-- AttributE
-- AttributF
- DateItem3 (Ebene 1-> also DateItem1 untergeordnet)
-- AttributG
-- AttributH
Zwischen DateItem1 und DateItem2 gibt es eine 1:1 Beziehung, zwischen DataItem1 und DataItem3 ebenfalls.
Es sollte also eine Zeile heruskommen.
Ich erhalte jedoch drei Zeilen als Ergebnis. Ich habe zum Testen mal DataItem3 entfernt, dann erhalte ich eine Zeile.
Bei den drei Zeilen sind einmal die Zeilen D-H ohne Inhalt, einmal die Zeilen D-F ohne Inhalt und einmal die Zeilen G-H ohne Inhalt.
Hat jemand eine Idee woran das liegt? Theoretisch sollte er die DataItems und deren Attribute in einer Zeile anzeigen und nicht verteilt auf drei Zeilen.
31. August 2020 16:28
Sehen die Daten erst auf dem Report so aus oder schon in der Auflistung der reinen Daten?
1. September 2020 15:33
Hallo, die Zeilen werden schon auf der Auflistung der Daten - also noch vor Ansicht des Reports auf verschiedene Spalten aufgeteilt.
Ich habe mal ein Screenshot gemacht und beigefügt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
3. September 2020 10:07
Also entweder ist es ein Fehler oder nicht?!
Versuch mal den Vendor noch eins weiter einzurücken.
3. September 2020 11:04
m_schneider hat geschrieben:Versuch mal den Vendor noch eins weiter einzurücken.
meinst du nach links oder rechts? unter einrücken versteh ich nach rechts -
wenn ich mir die "Anforderung" ansehe, dann stimmt doch die Einrückung des Vendors nicht (zu weit rechts) ....aber ich will garnicht viel sagen - Reports sind nicht mein Ding
3. September 2020 11:31
Hallo,
wenn das alles eine Verknüpfung 1-1 mit dem Basis- Record ist, dann würde ich den auszugebenden Subrecord(s) als globale Variable(n) definieren, und im OnAftergetRecord des Basisrecords lesen, und dann die Felder als Felder unter dem Basis- Record ausgeben. Die Sourceexpression lautet dann z.B. DataItem2.Feld1 usw.
Damit kannst du relativ sicher sein, nur eine Zeile zu bekommen, wo nur eine ist.
Gruß Fiddi
4. September 2020 07:20
Wie sieht denn die reine Datentabelle nach Aufruf des Reports aus? Daraus kann man eigentlich gut sehen wo das Problem liegt.
4. September 2020 09:39
Das Problem ist die Struktur. Keine Einrückung = zusätzliche Zeile.
4. September 2020 10:34
Keine Einrückung = zusätzliche Zeile
ist nicht "Keine Einrückung =
KEINE zusätzliche Zeile" richtig!?
Gruß Fiddi
P.S.: Ich verfolge dich heute
4. September 2020 11:10
fiddi hat geschrieben:ist nicht "Keine Einrückung =
KEINE zusätzliche Zeile" richtig!?
P.S.: Ich verfolge dich heute
Nope, gleiche Ebene = Union, tiefere Ebene Join
Ja :X
4. September 2020 11:30
Hallo,
entschuldige bitte, ich hatte das auf meinen Vorschlag bezogen, da sollte das nicht so sein. Bei normalen Record-Sets hast du natürlich recht.
Gruß Fiddi
7. September 2020 11:26
Hallo. Das kann ganz normal sein. Schau dir das Dataset an; es gibt durchaus Zeilen, die da sind, aber keiner Ausgabe benötigen. Diese kannst du doch im Layout mit einem Filter weglassen (Document_No <> "")
7. September 2020 14:38
Sorry, war im Urlaub und hatte recht wenig Zeit hier rein zuschauen.
Also jedes DataItem
CostEntry hat eine 1:1 Beziehung zu einem DataItem
RE_EXPORTBUCHUNGSDATEN_SKONTO. Ein DataItem
CostEntry hat ebenfalls eine 1:1 Beziehung zum DataItem
Vendor.
Die Ausgabe erzeugt nun pro CostEntry zwei Datensätze. Einmal ist das Attribut Barcode_REEXPORTBUCHUNGSDATENSKONTO gefüllt und einmal Name_Vendor. Es scheint also so als würden zwei abfragen also UNION mit den entsprechenden DataItems generiert. Wenn ich Vendor weiter nach rechts schiebe, verliere ich die Verknüpfung zum DataItem
CostEntry, da ich mich dann nur noch auf das darüberliegende DataItem beziehen kann.
Es müsste also so etwas wie
- Code:
Select * from CostEntry c inner join RE_EXPORTBUCHUNGSDATEN_SKONTO r on c.Cost Object Code = r.CostObject inner join Vendor v on v.No = c.Vendor No
dargestellt werden. Die o.g. SQL-Abfrage würde nämlich genau einen Datensatz erzeugen.
8. September 2020 19:17
Ich werfe nochmal die Lösung von fiddi in den Raum, denn so würde ich es auch mit mindestens einem der Sub-Records machen:
fiddi hat geschrieben:wenn das alles eine Verknüpfung 1-1 mit dem Basis- Record ist, dann würde ich den auszugebenden Subrecord(s) als globale Variable(n) definieren, und im OnAftergetRecord des Basisrecords lesen, und dann die Felder als Felder unter dem Basis- Record ausgeben. Die Sourceexpression lautet dann z.B. DataItem2.Feld1 usw. Damit kannst du relativ sicher sein, nur eine Zeile zu bekommen, wo nur eine ist.
9. September 2020 10:05
Zeig doch mal das Dataset.
Vorschlag kam schon:
HansF hat geschrieben:Wie sieht denn die reine Datentabelle nach Aufruf des Reports aus? Daraus kann man eigentlich gut sehen wo das Problem liegt.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.