EULANDA® ERP System Head Start thru Technology
Dieses Beispiel soll die Zusammenhänge zwischen verlinkten Datenquellen und Unterberichten veranschaulichen, aber gleichzeitig natürlich auch die Zusammenhänge von Bericht und Unterbericht verdeutlichen.
Das Szenario: Wir haben ein einfaches Formular welches alle Rechnungen auflistet, und wir haben ein einfaches Formular welches alle Zahlungseingänge auflistet, unabhängig davon zu welcher Rechnung sie gehören. Nun wollen wir die Formulare kombinieren, so dass alle Rechnungen und zu jeder Rechnung die Zahlungseingänge aufgelistet werden. Also machen wir aus den Zahlungseingänge-Bericht direkt einen Unterbericht im Rechnungs-Bericht, zunächst ohne jeden Link und anschließend verlinkt.
Das Rechnungsformular mit Datenquelle
Das Zahlungseingänge-Formular mit Datenquelle
Die Kombination ohne Link
Der Ansatz zur Verlinkung
Die Kombination mit Link
Unser einfaches Rechnungsformular hat folgenden Aufbau:

Es listet zu jeder Rechnung das Rechnungsdatum, Kundenmatch,
Rechnungsnummer, offenen Betrag und Fibukonto auf.
Die zugehörige Datenquelle sieht folgendermaßen aus:

Daraus ergibt sich in der Vorschau folgender Bericht:

Die Rechnungen sind nach Kundenmatch sortiert, offene Beträge nur da zu sehen wo auch ein solcher Betrag existiert. Wie man die Sortierung hinbekommt, kann man unter „Eingebettete Datenquellen“ nachlesen.
Das einfache Zahlungseingangs-Formular hat folgenden Aufbau:

Zu jedem Zahlungseingang wird das Datum, der Betrag, Erlöskonto, Auszug
und die Bemerkung ausgegeben.
Die zugehörige Datenquelle sieht folgendermaßen aus:

Daraus ergibt sich in der Vorschau folgender Bericht:

Hier sieht es ziemlich unsortiert aus, aber die Einträge sind auch nach Kundenmatch sortiert, doch dieser sowie die zugehörige Rechnungsnummer wurden aus Gründen der Übersichtlichkeit weggelassen.
Wenn wir uns nun im Rechnungsformular als zweite Datenquelle die Datenquelle „RechnungZE“ aller Zahlungseingänge anlegen...

... so können wir den ursprünglichen Zahlungseingangs-Bericht als Unterbericht in den Rechnungs-Bericht einfügen:

Dies resultiert dann in folgender Vorschau:

Nun, man sieht, dass zu jeder Rechnung alle verfügbaren
Zahlungseingänge aufgelistet werden, ganz gleich ob sie zu der
entsprechenden Rechnung gehören oder nicht. Das kann natürlich nicht Sinn
der Sachen sein, doch wo liegt der Fehler? - Ganz klar: Der Link fehlt.
Woher soll der Unterbericht denn auch wissen welche Zahlungseingänge er
auflisten soll? Ein Unterbericht ist ein vollwertiger Bericht, der für
sich alleine arbeitet! Sobald der Unterbericht aufgerufen wurde, wird
er zunächst komplett abgearbeitet, und da er alle Zahlungseingänge aus der
Datenquelle zur Verfügung hat, so listet er natürlich auch alle auf.
Dieses Problem können wir mit einem Link lösen.
Wir wissen: Jede Rechnung hat eine ID, und diese ID taucht irgendwo in
der Datenquelle der Zahlungseingänge auf, denn sonst könnte man
Zahlungseingänge nicht den Rechnungen zuordnen. Es kann allerdings auch
nicht die ID eines Zahlungseingangs sein, denn die ist für jeden
Zahlungseingang verschieden.
Es ist die KopfID eines Zahlungseingangs. Die KopfID eines
Zahlungseingangs ist immer gleich der ID der zugehörigen Rechnung, so dass
eine eindeutige Zuordnung von Zahlung und Rechnung möglich ist.
Damit also immer nur die zur aktuellen Rechnung gehörenden Zahlungen
aufgelistet werden, müssen wir die KopID der Zahlungen an die ID der
Rechnung knüpfen, so dass mit einer neuen Rechnung (=neue ID) auch eine
neue KopfID gesetzt wird und somit immer nur bestimmte Zahlungen (nämlich
die zur aktuellen Rechnung) im Unterbericht zur Verfügung stehen (denn
dann können auch nur diese im Unterbericht geruckt werden).
Dieser Link würde bei nicht eingebetteten Datenquellen im
Datenkonfigurator folgendermaßen aussehen:
pRechnung:KopfID=ID
Bei eingebetteten Datenquellen wie hier können wir das einfacher haben. Hier können wir uns einfach die KopfID in der Datenquelle der Zahlungen greifen und per Drag&Drop auf die ID der Datenquelle der Rechnungen ziehen:

Nach dieser Verlinkung sehen unsere Datenquellen nun folgendermaßen aus:

Den Bericht lassen wir unverändert:

Und siehe da ...

... es funktioniert!
Wo könnten Probleme auftreten? Einerseits natürlich beim Erstellen der Datenquellen, vor allen wenn diese aus mehreren Tabellen zusammengesetzt werden (z.B. Datenquelle Rechnung enthält gewisse Felder aus OffenePosten). Außerdem vielleicht beim Verlinken der Datenquellen, z.B. Verlinkung falsch herum etc. Dazu können folgende Links weiterhelfen:
Datenquellen verbinden
Erstellen der Datenquellen