[Gelöst] Filterverknüpfung in einem Report

14. Mai 2008 17:49

Ich habe einen Report in denen soll je nach Kontakt für einen Monat Rechnungszeilen oder Gutschriftzeilen ausgegeben werden. Gefiltert wird mit einer Nummer (nicht die Kontaktnummer) die dem Kontakt zugeordnet ist und einem Datumformat zum Beispiel: 01.01.08..31.01.08

Die DataItems sehen wir folgt aus

Contact
->Sales Invoice Line
->Sales Cr.Memo Line

Rechnungszeile und Gutschriftszeile sind jeweils per DataItemLink und der in der Requestform gefilterten Nummer mit der Kontakttabelle verbunden.

Nun ist das Problem das ich bei der Gutschriftszeile kein Buchungsdatum habe auf das ich mit dem Datumsfilter filtern kann. Die Tabelle Gutschriftskopf hat dies jedoch (aber dafür nicht die gefilterte Nummer). Ich habe versucht nun eine Verknüpfung herzustellen

Code:
IF Contact.GETFILTER(Contact."Date Filter") <> '' THEN BEGIN
  r_SalesCrMemoHeader.SETFILTER("Posting Date",Contact.GETFILTER(Contact."Date Filter"));
  IF r_SalesCrMemoHeader.FINDFIRST THEN
     REPEAT
        "Sales Cr.Memo Line".SETRANGE("Document No.",r_SalesCrMemoHeader."No.");
     UNTIL r_SalesCrMemoHeader.NEXT = 0;
END;


Aber leider bringt dies nicht das erforderliche Ergebnis. Bei meinem Testkontakt gibt es bei dem Datumsfilter 2 Zeilen die Ausgegeben werden sollen. Es werden auch 2 Ausgegeben aber nur eine davon ist richtig. Die erste Zeile die ausgegeben wird, ist auch der erste Datensatz des Kontakes in der Gutschriftszeile. Irgendwie weiß ich nicht mehr weiter. Kann mir vielleicht einer von euch weiter helfen?
Zuletzt geändert von Heike Bennerscheid am 15. Mai 2008 09:29, insgesamt 1-mal geändert.

14. Mai 2008 19:25

Warum erstellst du nicht einfach ein zusätzliches DataItem Sales Credit Memo Header?
Im Kopf setzt du den Datumfsfilter, im DataItem Sales Credit Memo Line lässt du dir ohne weitere Filterung (auf Datum o.ä.) alle Zeilen des Kopfes andrucken. Diese Lösung funktioniert ganz ohne Quelltext, wie du ihn oben probiert hast.

14. Mai 2008 20:43

Ich habe aber leider keine Verbindung zwischen Contact und dem Header. Das hatte ich ja auch schon überlegt gehabt. Aber ohne diese Verbindung dürfte der Report wie er gewünscht ist nicht klappen.

14. Mai 2008 21:17

Hallo Heike,

Wäre Dir da nicht mit folgender DataItem-Struktur geholfen:

Contact
->Sales Invoice Line
->Sales Cr.Memo Line
-->Sales Cr.Memo Header

Also den Header der Line-Tabelle unterordnen und nicht der Contact-Tabelle.
Die notwendigen Ausgabefelder kanst Du dann ggf. in die Section des Header-Dataitems packen.

Gruß
Ralf

15. Mai 2008 09:29

Super das hat funktioniert. Wusste gar nicht das man das so machen kann. Vielen lieben dank Ralf.