[gelöst]Setfilter auf Option-Feld mit mehreren Filterwerte

23. Juni 2014 12:09

Hallo,
ich habe folgenden Code
Code:
OFBearbgruppeToskanaEN := FALSE;
OFBearbgruppeFilter := 'TOSKANA';
IF STRLEN(OFBearbgruppeFilterText) > 0 THEN
  OFBearbgruppeFilterText += '|';
OFBearbgruppeFilterText += OFBearbgruppeFilter;
SETFILTER("OF-Bearbeitungsgruppe",OFBearbgruppeFilterText);

AnzahlundFehlmengeSummeCalc;
CurrPage.UPDATE(FALSE);

Dieser fügt zum bestehenden FilterText in diesen Beispiel TOSKANA hinzu. Dabei handelt es sich um das Feld "OF-Berbeitungsgruppe" , welches als Option-Feld definiert ist.

Wie kann ich nun diese Feld OFBearbgruppeFilterText erweitern, damit mir auch diese Datensäte gefunden werden, welche im diese Feld keinen Wert haben.
Mit '' habe ich es schon versucht.

lg
stony
Zuletzt geändert von stony am 24. Juni 2014 08:32, insgesamt 1-mal geändert.

Re: Setfilter auf Option-Feld mit mehreren Filterwerte

23. Juni 2014 12:44

Leere Optionswerte sind nicht '', sondern ' '.

Re: Setfilter auf Option-Feld mit mehreren Filterwerte

23. Juni 2014 13:07

' ' klappt leider nicht. Hatte ich auch schon versucht.
Klappt nur mit setrange.
Bräuchte es aber für setfilter da ich mehrere Filterwerte brauche.

Re: Setfilter auf Option-Feld mit mehreren Filterwerte

23. Juni 2014 13:11

Also eigentlich sprechen wir Optionsfeldwerte nie hart codiert als Text an, sondern mit Feldname::OptionStringWert. Nur so ist auch die Mehrsprachigkeit gewährleistet.

Beispiele:
SalesLine."Document Type"::Order --> Wert für Belegart "Auftrag"
SalesLine.Type::"Charge (Item)" --> Wert für Zeilenart "Zu-/Abschlag (Artikel)"

Folglich brauchst du:
"OF-Bearbeitungsgruppe"::" "

Re: Setfilter auf Option-Feld mit mehreren Filterwerte

23. Juni 2014 13:39

Wie müßte nun mein Setfilter-Befehl aussehen, der mir alle Daten anzeigt, welche TOSKANA und ' ' bei den Feld "OF-Berbeitungsgruppe" haben.
Hintergrund ist nämlich. Der Benutzer klickt auf eine Action, dann werden alle angezeigt welche TOSKANA haben. Wenn er nun auf eine weitere Action klickt werden alle angezeigt, welche TOSKANA und ' ' haben.

Re: Setfilter auf Option-Feld mit mehreren Filterwerte

23. Juni 2014 13:56

stony hat geschrieben:Wie müßte nun mein Setfilter-Befehl aussehen, der mir alle Daten anzeigt, welche TOSKANA und ' ' bei den Feld "OF-Berbeitungsgruppe" haben.

Code:
SETFILTER("OF-Bearbeitungsgruppe",'%1|%2',"OF-Bearbeitungsgruppe"::TOSKANA,"OF-Bearbeitungsgruppe"::" ");

Re: Setfilter auf Option-Feld mit mehreren Filterwerte

23. Juni 2014 14:27

Ok.
Nur leider gibt es in diesen Fall 5 Filterwerte. Und ich weiß nicht ob der Benutzer nur einen oder mehrere ausgewält und in welcher Komibination bzw. Reihenfolge.
Daher war die Lösung mit dem Textfeld wo die Filterwert gespeichert werden optimal.

Re: Setfilter auf Option-Feld mit mehreren Filterwerte

23. Juni 2014 14:39

OFBearbgruppeToskanaEN := FALSE;
OFBearbgruppeFilter := 'TOSKANA';
OFBearbgruppeFilterText := '%1';
IF TOSKANA_Ausgewählt THEN
OFBearbgruppeFilterText += '|%2';

IF SARTINIEN_Ausgewählt THEN
OFBearbgruppeFilterText += '|%3';

IF KRETA_Ausgewählt THEN
OFBearbgruppeFilterText += '|%4';

SETFILTER("OF-Bearbeitungsgruppe",OFBearbFilterText,"OF-Bearbeitungsgruppe"::" ","OF-Bearbeitungsgruppe"::TOSKANA,,"OF-Bearbeitungsgruppe"::SARDINIEN,"OF-Bearbeitungsgruppe"::KRETA);


Das einzige was du jetzt noch abfangen musst, ist wenn nichts ausgewählt wurde (was soll dann passieren).

Gruß Fiddi