[Gelöst]Setrange mit *

13. März 2014 12:10

Hallo Liebe Gemeinde,

ich wieder mal ein kleines Problem wo ihr mir sicher schnell weiterhelfen könnt!

und zwar ich hab ein rec.Setrange Problem

ich möchte gerne wie direkt im NAV einen Filter setzen wo ich zb:
rec.Setrange("doc no.", WIER*);

ich hab jetzt schon allemöglichen arten versucht dies umzusetzen aber die Range greift nie und ich bekomme kein Ergebnis!

Wie kann ich eine Range oder Filter setzen mit dem ich alle die mit WIER anfangen bekomme???

Im normal NAV Filter funkioniert es wenn ich schreibe WIER* aber im Code selber leider nicht .....

Danke schon mal ;)

lg Franky
Zuletzt geändert von Franky4Fingas am 13. März 2014 15:47, insgesamt 1-mal geändert.

Re: Setrange mit *

13. März 2014 12:20

Schau mal nach SETFILTER.

Re: Setrange mit *

13. März 2014 12:33

Setfilter hab ich schon probiert bekomme da immer den Fehler....

Das Programm kann den Wert des Summenfeldes ..... nicht berechnen, da die Abgrenzung Fragezeiche(?), Sterne(*) oder '@' Zeichen enthält......

Codezeile:

debitorenposten.SETFILTER("Document No.", '%1', 'WIER*');

lg

Re: Setrange mit *

13. März 2014 12:41

Und mit
Franky4Fingas hat geschrieben:debitorenposten.SETFILTER("Document No.", '%1*', 'WIER');

?

Re: Setrange mit *

13. März 2014 12:44

Leider das gleiche....

Re: Setrange mit *

13. März 2014 12:49

Seltsam. Das Feld "Document No." der Tabelle Cust. Ledger Entry ist kein Flowfield. Und selbst, wenn es eines mit Calcformula "SUM" wäre, käme ein anderer Fehler beim kompilieren (davon ausgehend, dass du auf dieses Feld filtern möchtest). Bist du sicher, dass der Fehler nicht woanders herkommt?

Re: Setrange mit *

13. März 2014 12:51

ja deswegen frag ich ja hier....
ich weis einfach nicht mehr weiter .....
wollte hier eine statistik haben einfach mit allen WIER* aber ich bring den FIlte nicht zusammen

klammer ich die Zeile aus mit diesem Filter funktioniert calcsums einwandfrei ....
nur mit den Filter schreibt er mit die Meldung ....

lg

Re: Setrange mit *

13. März 2014 12:53

Was für ein calcsums denn? Gib bitte mal mehr code.

Re: Setrange mit *

13. März 2014 12:55

Code:
debitorenposten.RESET;
debitorenposten.SETCURRENTKEY("Customer No.","Document Type", "Posting Date", "Document No."); // (Der Key hat auch SumIndexFields mit Sales (LCY) hinterlegt
debitorenposten.SETRANGE("Customer No.", custnr);
debitorenposten.SETRANGE("Document Type", 2);
debitorenposten.SETFILTER("Document No.",test); // test steht nur grad drinn weil ich schon seit 2 Stunden alle möglichen arten probiere ....
debitorenposten.SETRANGE("Posting Date", Umsatz1von, Umsatz1bis);
debitorenposten.CALCSUMS("Sales (LCY)");
Umsatz1:= debitorenposten."Sales (LCY)";
IF Umsatz1 = 0 THEN
  Kontroll
:= Kontroll +0
ELSE
  Kontroll:= Kontroll +1
Zuletzt geändert von McClane am 13. März 2014 14:08, insgesamt 1-mal geändert.
Grund: Programmcode in [code]-Tags gesetzt

Re: Setrange mit *

13. März 2014 12:59

und hier ist der Fehler den ich immer bekomme ....
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Setrange mit *

13. März 2014 13:14

Verstehe. Dafür ist die Architektur eines SumIndex-Fields nicht angelegt. Das kannst du aber mit einer kleinen Schleife über die Debitorenposten umgehen, in der du die Werte summierst.

Re: Setrange mit *

13. März 2014 13:22

Hallo danke für die Antwort ;)

Hab es in diesen Moment gerade geschafft....

habs einfach übergangen ....

hab jetzt

test:= 'WIER0000001';
test1:= 'WIER9999999';


debitorenposten.SETFILTER("Document No.",'%1..%2',test,test1);

nun is gut und er nimmt sowieso alle ;)

ABER Trotzdem vielen Dank für die Hilfe ;)

lg Franky

Re: Setrange mit *

13. März 2014 13:49

Ja, das wäre die nächste Möglichkeit gewesen (bei von-bis kannst du auch SetRange nehmen):
Code:
SETRANGE("Document No.", 'AnfangDerNummernserie','EndeDerNummernserie');