September 23, 200916 yr hi fms10/fmp10/fmp10a a series of fields on a layout have script triggers onObjectExit The layout should have no tab order The aim is to allow the user to enter a field value, tab out of the field and thereby trigger a script to force a commit/refresh so that the changed data is immediately updated on other concurrent user screens. with no object (i.e. no tab order) as such, tabbing out does not work, as there is no destination object to tab to. if a 'harmless object is defined, in order to make tabbing out of a field work, then the record stays 'locked' in a multi-user environment The aim is to avoid having to have the user click out of the field in order to commit the record; the user population is transient (agency staff) and can not be relied on (quite reasonably) to know or remember to click out of the field if there is an object in the tab order, then the tab out works and the commit/refresh script steps execute, but then the tab object effectively locks the record I'm missing the obvious perhaps Edited September 23, 200916 yr by Guest
September 23, 200916 yr if a 'harmless object is defined, in order to make tabbing out of a field work, then the record stays 'locked' in a multi-user environment I tested this by using a BUTTON as the "harmless object" - the record does not remain locked. I made the button execute the same OnObjectExit script, which only contained "Commit Record(s)"
September 23, 200916 yr Author yes, I was misinterpreting 'locked'; traditional , if inaccurate, empirical interpretation: if you can see the dashed field borders, the record is 'locked' i.e. not committed the cursor can it seems, be left in a field, and not be locked to entry by another user, untill the first user presses a key again. Not particularly elegant (or intuitively convincing). I just worked up this, which does exactly what I want no tab order on the layout user can type normally into the field, and exit the field and commit, using tab or return or enter. field script trigger: OnObjectKeystroke Script: commit_triggerkeystroke # just for monitoring Set Variable [ $_keystroke; Value:Code( Get ( TriggerKeystroke ) ) ] # triggerkeystroke: tab = 9 # triggerkeystroke: return = 13 # triggerkeystroke: enter = 10 If [ Case( Code( Get ( TriggerKeystroke ) ) = 9 ; 1; Code( Get ( TriggerKeystroke ) ) = 10 ; 1; Code( Get ( TriggerKeystroke ) ) = 13 ; 1; )] Commit Records/Requests [ Skip data entry validation; No dialog ] End If Edited September 23, 200916 yr by Guest
Create an account or sign in to comment