[gelöst] Find('-') setzte Tabelle auf geändert ?!

27. März 2008 10:34

Hallo,

bei der Form 21 ( Artikelübersicht ) möchte ich erreichen das der User einen Suchtext eingeben kann.

Ich habe eine Textbox auf der Form platziert und dann im OnAfterInput Trigger folgenden Code palziert:


Code:
   Item1 :=DELCHR( COPYSTR( Text, 1, STRPOS( Text, ','  ) -1 ), '<' );
   Item2 := DELCHR( DELSTR( Text, 1, STRPOS( Text, ','  ) ) , '<' );
   Item1 := DELCHR( Item1, '>' );
   Item2 := DELCHR( Item2, '>' );
   Rec.RESET;
   Rec.SETFILTER(Description, '%1', Item1 + '*' + Item2 + '*' );
   Rec.FIND('-');


Das geht auch alles.

Wenn ich nun aber die Form verlassen möchte, erzählt Navision mir das die Tabelle geändert worden ist, dies aber nich zulässig ist.

Warum ?

Ich habe nichts geändert.

Kann mir jemand dies verhalten erklären ?

Danke
Jörg


Jörg
Zuletzt geändert von Jörg Nissen am 27. März 2008 15:33, insgesamt 1-mal geändert.

27. März 2008 11:52

So wie es aussieht steht Deinem Problem das NAV-Versionsprinzip (Zeitstempel usw.) im Wege. Versuch mal den Find auf einer anderen Variable (nicht rec) auszuführen.

27. März 2008 11:55

Hallo,

ich habe gerade festgestellt, das das Find unnötig ist.

Mache ich nur ein SETFILTER geht es.

Aber der aktuelle Datensatz auf dem der Cursor steht wird nicht aktualisiert.

Was habe ich da bloss noch nicht verstanden ?


Jörg

27. März 2008 12:03

Schau mal, ob etwas (Wünschenwertes) passiert, wenn du den Code in den OnAfterGetCurrRecord-Trigger kopierst. (Achtung, nicht mit OnAfterGetRecord verwechseln).

27. März 2008 12:40

Es passiert was. Aber frag nicht was. Das kann ich nicht erklären :-)
Ganz merkwürdig.

Ich glaube mein Ansatz ist noch nicht ganz richtig.

Ich erkläre mal was ich möchte.

Der User ist zb: in der Auftragsabwicklung und erfasst einen neuen Auftrag.

Im Feld Nummer erreicht er durch F6 die Artikelübersicht.

Jetzt soll er einen Text eingeben können nachdem im Feld Description gesucht wird, sobald die Entertaste gedrückt wird.

So kann er den Artikel auswählen den er gern hätte.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

27. März 2008 15:32

Hey,
habe die Lösung gefunden.

Ich muss meinen Code in

OnAfterValidate

einfügen.

Dann geht es.

Danke
Jörg

28. März 2008 12:39

Hi,

ich habe mal eine Frage, warum willst du das machen?

Ich arbeite mit einer Branchenlösung, die an der Übersicht ein wenig was geändert hat, deswegen kann ich das nicht genau sagen, aber eigentlich sucht er doch eh mit der Standardsuchfunktion, wenn man in dem Beschreibungsfeld steht und lostippt, oder?

Gruß
Marc

31. März 2008 07:46

Hallo,

das ist richtig. Nur der User muss halt im Desciption-Feld den Cursor setzten damit dort gesucht wird :-).

Und wem es es noch nicht passiert das er im falschen Feld sucht.
Dies gilt auch für die Debitoren, Kreditoren.

So gibt der User nun in dem Suchfeld ein was er sucht. Nummer oder ein Teil des Namens und die Logik entscheidet über welche Felder gesucht wird.

Zb: Hat er nun die Möglichkeit Name, Ort ( zb: Mustername, Musterort ) einzugeben und erhält dann eine Liste mit allen Musternamen im Musterort.

Jörg