Put barcodes in their own table and use Record Level Access restrictions to prohibit editing the record (That's why you put it in a separate table), if the barcode field is not empty.
For more on this, look up "Editing record access privileges" in filemaker help and scroll down to "Entering a formula for limiting access on a record-by-record basis".
Out of curiosity: What do your techs do if they enter a barcode incorrectly?
if your techs enter data in their own layout and you have your users viewing the information in a different layout that is accessible via IWP, then you could simply use a calculation field.
"barcodes_c" = "barcodes"
place the "barcodes_c" field in the user end layout on the IWP and then the field will be not be modifiable.