[CC] Fokus setzen in Form nach Verarbeitung [Gelöst]

3. September 2015 16:39

Hallo,
ich habe "mal wieder" ein blöde Problem welches mich etwas verzweifeln lässt.
Ich habe eine simple Form mit 2 Feldern gebaut:
Bild

Zunächst soll etwas in "Feld 1" (Eingabefeld "varOrderNumber", der Einfachheit halber nachfolgend aber "Feld 1") erfasst werden, anschließend kommt die Eingabe in "Feld 2" (Eingabefeld "varShippingCustomerNumber", nachfolgend "Feld 2").
Diese DAten sollen später mit einem Handscanner erfasst werden, welcher einen Barcode erfasst und mittels angehängtem TAB (Scannersteuerung) in das nächste Feld springt (dies soll hier nicht das Thema sein). Nachdem der Wert für "Feld 2" erfasst wurde soll das "OnValidate" des Feldes 2 ausgeführt werden, welches im alles Möglichen Daten setzt. Hier finden auch Fehlerprüfungen (mit Error) statt bzw. fülle ich bei Erfolg eine Text-Variable "varShowMessage" welche ich im Erfolgsfall in dem blauen Kasten darstellen möchte. Das läuft soweit auch, meine Daten werden verarbeitet, meine "varShowMessage" Variable wird gefüllt.

Im "OnAfterValidate" Trigger des "Feld 2" (also nach Verarbeitung) lasse ich die Form mittels "CurrForm.UPDATE;" aktualisieren und bekomme so meine "showMessage" im blauen Kasten dargestellt.

Mein Problem ist nur: Der Cursors bleibt im Feld "Feld 2" stehen, ich benötige ihn (zum Scannen des nächstens Vorgangs) im Feld "Feld 1".

Also habe ich ebenfalls im "OnAfterValidate" Trigger des "Feld 2" (direkt hinter dem "CurrForm.Update;") folgende Zeile hinzugefügt:
CurrForm.varOrderNumber.ACTIVATE;

Bild

Dies scheint allerdings nicht zu funktionieren, der Cursor bleibt weiterhin in "Feld 2" stehen.
Hat evtl. jemand eine Idee wie ich nach erfolgter Verarbeitung den Cursor wieder in "Feld 1" bekommen kann?
Danke und Gruß
Zuletzt geändert von FlensGold am 3. September 2015 19:38, insgesamt 1-mal geändert.

Re: [CC] Fokus setzen in Form nach Verarbeitung

3. September 2015 16:48

Du kannst dem Feld ein 'nextcontrol' mitgeben...

Re: [CC] Fokus setzen in Form nach Verarbeitung

3. September 2015 17:47

Markus Merkl hat geschrieben:Du kannst dem Feld ein 'nextcontrol' mitgeben...

Habe mal testweise die ID meines "Feld 1" dort (Feld 2 -> Properties -> NexControl -> 1000000000) hinterlegt. Nach der Verarbeitung bleibt der Fokus weiterhin auf "Feld 2" :(

Re: [CC] Fokus setzen in Form nach Verarbeitung

3. September 2015 17:48

Außerdem muss der Scanner so konfiguriert sein, dass er ein 'Enter' an die Eingabe anhängt.
Ob NextControl funktioniert, hängt bei Scannern manchmal von der Position des Controls relativ zum Absprungort ab, ähnlicher Fall hier.
Ich hatte auch schon Fälle, wo ich einen Minibalken als Dummybuttoncontrol links vom eigentlichen Feld einbauen musste, welches die NextControlD hatte und wiederum als eigenes NextControl das eigentliche Feld hatte. Erst dann landete der Cursor im Feld rechts daneben.

Re: [CC] Fokus setzen in Form nach Verarbeitung

3. September 2015 18:49

Wenn ich ein "Enter" beim Scanner übergebe, dann müsste ich bereits beim ersten Feld per NextControl auf das zweite Feld verweisen, oder? Ansonsten würde ich ja nie in das zweite Feld gelangen, korrekt?
Zuletzt geändert von McClane am 3. September 2015 21:29, insgesamt 1-mal geändert.
Grund: Vorherigen Beitrag komplett zitiert (siehe Community-Knigge)

Re: [CC] Fokus setzen in Form nach Verarbeitung [GELÖST]

3. September 2015 19:27

Hallo nochmal,
ich habe die Programmierung nun wie oben beschrieben angepasst:
Feld 1 ruft über NextControl das Feld 2 auf und umgekehrt. Das "CurrForm.UPDATE; und das ...ACTIVATE habe ich aus dem OnAfterValidate des Buttons entfernen müssen, danach lief es dann wie gewollt. Jetzt muss ich nur noch Klarstellen, dass der Kunde Scanner mit ENTER nutzt ;-)
Vielen Dank für die Hilfe!