[Gelöst] Filter holen

24. November 2011 10:01

Hallo,
Ich habe wieder mal ein Problem mit Filter setzen/holen.
Ich versuche in gebuchten Rechnungszeilen die Summe alle Beträge mit Dimensionscode „EU“ zusammen zu zählen. Ich schaffe es aber nicht den Filter vom DataItem in code zu übernehmen dass nur dies Beträge zusammengezählt werden und nicht alle andere.
So ungefähr habe ich das probiert:

Code:
SalesInvoiceLine.RESET;
SalesInvoiceLine.SETCURRENTKEY("Document No.", "Line No.");
SalesInvoiceLine.SETFILTER("Posting Date", SalesInvoiceLine.GETFILTER("Posting Date"));
SalesInvoiceLine.SETFILTER("Shortcut Dimension 1 Code", 'EU');
  IF SalesInvoiceLine.FIND('-') THEN
    REPEAT
   Summe += SalesInvoiceLine.Amount;
   UNTIL SalesInvoiceLine.NEXT =0;
Zuletzt geändert von ivan am 25. November 2011 16:37, insgesamt 1-mal geändert.

Re: Filter holen

24. November 2011 10:18

Damit holst du den Fikter aus der Instanz SalesInvoiceLine und setzt ihn gleichzeitig wieder auf diese. Das bleibt natürlich ohne Wirkung.
Code:
SalesInvoiceLine.SETFILTER("Posting Date", SalesInvoiceLine.GETFILTER("Posting Date"));

Innerhalb des DataItems kann man schreiben
Code:
SalesInvoiceLine.SETFILTER("Posting Date",GETFILTER("Posting Date"));

Re: Filter holen

24. November 2011 10:20

ich würde es ca. so probieren (nicht live getestet):
Code:
SalesInvoiceLine.RESET;
SalesInvoiceLine.SETCURRENTKEY("Document No.", "Line No.");
SalesInvoiceLine.SETFILTER("Posting Date", "Sales Invoice Line".GETFILTER("Posting Date")); // auf das DataItem beziehen
SalesInvoiceLine.SETFILTER("Shortcut Dimension 1 Code", 'EU');
SalesInvoiceLine.CALCSUMS(Amount);
Summe += SalesInvoiceLine.Amount;

Re: Filter holen

24. November 2011 10:39

Kowa hat geschrieben:Damit holst du den Fikter aus der Instanz SalesInvoiceLine und setzt ihn gleichzeitig wieder auf diese. Das bleibt natürlich ohne Wirkung.
Code:
SalesInvoiceLine.SETFILTER("Posting Date", SalesInvoiceLine.GETFILTER("Posting Date"));

Innerhalb des DataItems kann man schreiben
Code:
SalesInvoiceLine.SETFILTER("Posting Date",GETFILTER("Posting Date"));


Leider nicht, es werden trotzdem alle Beträge zusammengezählt und nicht nur die im DataItem gefiltert.

Re: Filter holen

24. November 2011 11:21

ivan hat geschrieben:Leider nicht, es werden trotzdem alle Beträge zusammengezählt und nicht nur die im DataItem gefiltert.

Liegt denn überhaupt ein Filter auf dem Feld? Das kann man über
Code:
Filtertext := GETFILTER("Posting Date");
testen.

Re: Filter holen

24. November 2011 12:04

Hallo

hier wird mit Filtern hantiert, von denen keiner weiß wo sie herkommen. Kannst du mal bitte die Struktur deines Reports darstellen.

Gruß, Fiddi

Re: Filter holen

24. November 2011 12:15

fiddi hat geschrieben:hier wird mit Filtern hantiert, von denen keiner weiß wo sie herkommen.

Stichwort: FILTERGROUP :-)
Wahrscheinlich liegt der gewünschte Filter nicht in der Filtergroup 0 (= vom Anwender gesetzter Filter), sondern in einer der anderen Filtergruppen (siehe Online-Hilfe zum Thema Filtergroup)

Re: [Gelöst] Filter holen

25. November 2011 16:37

Danke an alle,

ich hab's hingekriegt

Re: [Gelöst] Filter holen

25. November 2011 19:01

ivan hat geschrieben:Danke an alle,

ich hab's hingekriegt

Lässt du die Gemeinschaft daran teilhaben, was nun die tatsächliche Ursache war, warum es bisher nicht geklappt hatte, und wie du es gelöst bekommen hast?

Re: [Gelöst] Filter holen

25. November 2011 22:00

Aber natürlich,
"Filtertext" war im falschem Dataitem.

Code:
Filtertext := GETFILTER("Posting Date");