Eingabe abfangen

25. März 2010 16:30

Hallo zusammen!

Gibt es ein Möglichkeit bei Eingabe bestimmter Daten in eine Form in einer beliebigen Textbox diese abzufangen und in ein bestimmte Textbox einzugeben?

Hintergrund: Ich will Artikel-Barcodes per Scanner erfassen, aber der User soll nicht erst in das passende Feld springen müssen. Zur Barcode-Identifizierung kann ich ja Pre- und Post-Zeichen im Scanner einstellen (z. B. ###Barcode###).

Volker

Re: Eingabe abfangen

25. März 2010 17:52

Hallo vsnase,

wenn du mit dem Classic-Client arbeitest, hast du den OnAfterInput-Trigger z.B. des Feldes "Nr." in der "Sales Line Subform" dort kannst du mit dem eingegeben Text machen was du willst, solange am Ende eine Artikelnummer heraus kommt. Leider beherrscht der RTC das nicht mehr :twisted: Hier hilft wahrscheinlich nur ein zusätzliches Feld in der Tabelle, das im OnValidate die entsprechenden Aktionen ausführt.

Gruß, Fiddi

Re: Eingabe abfangen

25. März 2010 18:09

Hi Fiddi,

eigentlich wollte ich ja gerade nicht für jedes Feld in der Form in den Triggern was programmieren, aber sowas blödes habe ich schon befürchtet.

Volker

Re: Eingabe abfangen

25. März 2010 19:01

ich denke, du kannst doch eine Textbox nehmen, die Text abfaengt und diese dann in den OnAFterValidate verarbeitet und evtl. dann die ###barcode### erkennt.
Ein Textfeld!

Re: Eingabe abfangen

25. März 2010 19:27

Ja, aber nur wenn der Cursor auch in diesem Feld ist. Wenn der Cursor statt in No in Description steht greift der Trigger ja nicht und für eine Form gibt es den OnAfterVAlidate ja nicht.

Falls es eine Möglichkeit gäbe die (geplante)Änderung an einem Record irgenwie festzustellen wäre mir ja schon geholfen. OnModifyRecord in der Form bzw. OnModify in der Tabelle kommen halt viel zu spät für meinen Fall.

Volker

Re: Eingabe abfangen

14. September 2010 10:35

Zwar schon ein bisschen spät, aber vielleicht hilft es ja noch:
In Deinem konkreten Problem mit dem Scanner ist aus meiner Sicht folgende Lösung sinnvoll:

Man nimmt keinen Scanner, der in die Tastatur eingeschliffen ist, sondern einen Scanner,
der über serielle Schnittstelle, USB mit Serieller Emulation oder Netzwerk angeschlossen ist.

Für die entsprechende Hardware schreibt man dann einen Automation-Server, der in einem Event
die eingelesenen Daten an NAV übermittelt.

Aus dem entsprechenden Ereignis
z.B. BarcodeScan::Scanned(Code: Text[1024])
kann dann der gescannte Wert <Code> in jede beliebige Variable/Feld
- ggf. abhängig von Codetyp, Länge ... - eingetragen werden.

Grüsse, Lutz