NAV 4.0: Fehler bei SETFILTER-Interpretation umgehen

Bild Tipps & Tricks zu den Dynamics NAV Versionen
Hier bitte keine Fragen stellen, sondern nur bereits vorhandene Tricks veröffentlichen.
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie
Hier bitte keine Fragen stellen, sondern nur bereits vorhandene Tricks veröffentlichen.

NAV 4.0: Fehler bei SETFILTER-Interpretation umgehen

Beitragvon Natalie » 15. April 2008 20:53

Info: Dieser Tipp stammt aus dem MS KB-Artikel 951233, welcher einen Partnersource-Login erfordert.

Folgender Befehl kann in NAV 4.0 falsch interepretiert werden
Code: Alles auswählen
Rec.SETFILTER("No.",'%1*','100');


Das Problem tritt nur dann auf, wenn ihr Platzhalter (%1) und Wildcards (* oder ?) kombiniert verwendet. (Wenn es dafĂĽr fachlich bessere Begriffe gibt, bitte korrigieren).
Um das Problem zu umgehen, könnt ihr diese Codezeile auf folgende Weise variieren:

Code: Alles auswählen
// Möglichkeit 1
Rec.SETFILTER("No.",'100*');

//Möglichkeit 2
TempString := STRSUBSTNO('%1*','100');
Item.SETFILTER("No.",TempString);
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: NAV 4.0: Fehler bei SETFILTER-Interpretation umgehen

Beitragvon Natalie » 24. September 2008 13:54

Ein weiterer Interpretrationsfehler dieser Art tauchte hier in diesem Forum an anderer Stelle zu Tage:

Dieser Befehl
Code: Alles auswählen
Record.SETFILTER("G/L Account No.", '(8000..8445|8730..8744|8989..8995)&(%1)', Record2.GETFILTER("G/L Account No."))

fĂĽhrt zu folgendem Filter auf dem Feld "G/L Account No.":
Code: Alles auswählen
(8000..8445|8730..8744|8989..8995)&('8339..8400')
- man achte auf die Apostrophs!

Workaround auch hier:
Code: Alles auswählen
FilterStr := '(8000..8445|8730..8744|8989..8995)&(' + Record2.GETFILTER("G/L Account No.") + ')';
Record.SETFILTER("G/L Account No.", FilterStr);
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Klammer-Problem umgehen

Beitragvon Natalie » 15. Oktober 2009 19:06

Wieder ein neuer Fall:

Code: Alles auswählen
grPostCode.SETFILTER(City, 'Waren (MĂĽritz)');
geht nicht.

Code: Alles auswählen
grPostCode.SETFILTER(City, '%1', 'Waren (MĂĽritz)');
geht.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV


ZurĂĽck zu NAV Tipps & Tricks

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron