I'm developing a FileMaker 12 solution that involves a suite of barcode driven processes, which is stretching my knowledge of script control.
In general the scripts pause whenever user input from the scanner is required. There is a global field that receives the scanned value and the scanner is configured to input a tab and carraige return after the scanned code - so that it automatically tabs to and activates a "Go" button which is set to "Resume Script".
The issue is where I have to allow some keyboard input from the user ie data input is too complex / varied to create as barcodes. Currently the user has to click on a button to resume the script if they are typing into these fields (scanning "Continue" would put the scanned data into the wrong field). This is working ok but not very neat, and the client has asked if it is possible to allow for scanned input to continue to next step which would be more consistent (ie if they are accepting the default value entered for these fields thay can scan "Continue" so long as they haven't entered any of the fields using the mouse).
I've been playing around with using a script attached to a custom menu item (that could be fired from the scanner by configuring a shortcut key) but have not got this to work since
A) Using set field script step to set the scanner input field to "Continue" cannot be acheived in the same way as by the scanner input (where it populates field and enters a tab & carraige return to activate "Resume script" button which is the next tab object)
B) I'm left with the problem that "Resume script" only acts within the subscript being run not the main script that has been paused for user input.
Is there a way to do any of the following that would help me acheive a better user interface (or any other suggestions?)
- Activate "resume script" for the calling script when subscript exits (eg activate "Coontinue" button)
- Detect the device used for user input (keyboard versus scanner)
I do realise that one option is to split my original script into two parts so that instead of resuming the script I am performing part B, but with the amount of looping and user input required for the process I'm hoping there might be a neater solution.
Thanks in advance