We are running a calculated field in a S123 form that trims the value from a text field. The text field is actually being populated using wedge software to scan a RFID number. Since the value we want stored is only the last 14 characters of the RFID we use a calculate field (substr(${pitnumber_raw},-14)) to get the value to be stored in the database. I am using version 3.14.255 of the field app running on a Windows 10 laptop. We have noticed a few behaviors in form navigation that result in the calculate function not running. When the RFID is populated in the text field the focus remains in that field unless you press enter or tab. If users forget this step the calculate function will not run and we don't get the stored value, even if the user moves on to a new record in the form (we are using nested repeats). We cannot make either field required because not all records will have a RFID value (e.g., not all fish have a RFID tag).
Is there a way to force the calculation to run before the user can create a new record in the repeat? Also - it would be ideal if the focus on the form would advance from the text field once it is populated with the RFID.