3 Replies Latest reply on Jan 24, 2012 10:45 AM by philmodjunk

    Best Practice for a Barcode scanning inspection System

    JoshHyman

      Title

      Best Practice for a Barcode scanning inspection System

      Post

      Hi Folks,

      I am wanting some advice on the best practice for a problem I am having at the moment.

       

      What I need to do is the Following:

       

      At the moment I have three tables linked by a unique ID number these tables are Master Inventory, Visual inspections, Operational Inspections. The inventory table contains details of each item, the visual inspection table contains over 150 different types of inspection fields as does the operational inspection table.

      The System I am setting up is for daily inspections of many different pieces of equipment, each piece of eqipment will have an individual QR barcode and we will be inspecting about 300 items each day.

      The system will run on filemaker go and I have already made a script to read the QR barcode via the ipad camera, extract the data, and return it to a global field.

      The issue I have is that there are 150 or so different catagories of Item to be inspected and each inspection contains a different combination of these Visual and Operational inspections fields.

      I would like the script that reads the barcode to be able to take the user to the correct record in a layout that displays the correct combination of inspection fields, I think I will need to create an independant layout for each item and then point the script to that layout.

      I was going to use the go to related record script step and the layout name by calculation method to use a portion of the extracted QR code to inform the calculation. 

      In your opinion is there a better way to so this before I custom make 150 different layouts.

      I also want the user to have to fill in each inspection field before the record is validated, I think I will need to make indiviual scripts to check the validation of the unique combination of inspection fields needed for each inspection, again over 150 unique scripts. Is this also the best way forward in your opinion.

       

      Thanks for taking the time to read this and lend a hand, cheers

      J

        • 1. Re: Best Practice for a Barcode scanning inspection System
          philmodjunk

          150 layout seems excessive here, but we can't see how one inspection differs from another and thus can only give very general suggestions....

          I'd take a look at breaking each inspection down into smaller pieces with a record for each. See if that approach simplifies the inspection process by pulling up a different inspection check list by pulling up a different group of records for that inspection.,

          You might also be able to generalize many inspection items so that the same fields can be used for each. Conditional value lists can be used to list different values to be selected for different records. Data can be recorded in field pairs or even triplets where field 1 labels the data, field 2 records the actual measurement and field 3 records the units (if needed). Such generalized set of fields could then apply to many different steps of your inspection process. With that set up a "smart layout" may be possible that reconfigures for each inspection or part of an inspection.

          • 2. Re: Best Practice for a Barcode scanning inspection System
            PhilipDefatta

            Could you share you script to scan the qr code and return the data to FileMaker?   Thank you.

            • 3. Re: Best Practice for a Barcode scanning inspection System
              philmodjunk

              That's not how it works.

              First, you have to research the technical specs and options for your scanner. Sounds like you have it runnig in keyboard emulation mode--the most common mode and what we want here. In that mode, data scanned by the scanner is automatically input to the computer as though a very fast typist entered it from the keyboard. What you need to find out is how to configure your scanner to put a character or characters at the beginning of each scan, then you use the OnLayoutKeystroke script trigger to perform a script that checks for these characters.

              Example:

              We have a magnetic strip reader (works just like a barcode scanner) that we've configured to put Shift-CapsLock-~ at the beginning of each scan.

              The script performed by OnLayoutKeystroke looks like this:

              If [ Get ( TriggerKeystroke ) = "~"  and Get ( TriggerModifierKeys ) = 3 /* Modifier 3 means shift and capslock are down */ ]
                 Go to Field [Tablename::GlobalTextField]
                 Exit Script [False]
              End If

              The next step is to configure your scanner to put Return, Enter or Tab at the end of the scanned data as the second trigger. Whichever key you choose, use Field Behavior in the inspector to set up GlobalTextField so that this key exits that field. Then you can add an OnObjectExit trigger on GlobalTextField to perform the script that processes the data just scanned into this field.

              A different option that also works here is to modify the above script to be:

              If [ Get ( TriggerKeystroke ) = "~"  and Get ( TriggerModifierKeys ) = 3 /* Modifier 3 means shift and capslock are down */ ]
                 Go to Field [Tablename::GlobalTextField]
                 Install OnTimer Script ["Process Scanned Data" ; Interval: 1 ]
                 Exit Script [False]
              End If

              This sets up a script named "Process Scanned Data" to be performed 1 second after the data is scanned into the field. If you use this option, be sure to start the "Process Scanned Data" script off with: Install OnTimer Script [ ] to disable the timer so that you only process the scanned data a single time.