This example results in Mark Sense zones to output nothing if more than one hit was detected. The checkboxes on the form are Yes and No with Y and N as the output for each as a hit, and a "null" as the output on each on a miss. The Default Literal if Rule Broken option wouldn't work because it cannot be filled with a null.
This type of script is designed for environments where the form is not being verified or the mark sense zones are not being verified - otherwise the operator would resolve this issue. Generally, this type of script is useful for high volume production environments where the mark sense answers are unambiguous. Lastly, this script is written to impact ALL mark sense zones on the form - the for/next loop would not be needed if this were to be accomplished only a certain zone or set of zones.
GUI Product Features Used in this Script:
-
Parameters | Verification | General | Utilize Verification Process is set to "Conditional" or "Never."
Key VB Script Features Demonstrated in this Script:
-
IsOMR Property (OCR for AnyDoc)
-
UniqueCheckedBoxOffset Property (OCR for AnyDoc)
-
UnCheckAllBoxes Method (OCR for AnyDoc)
Example Script:
'Level: Form
'Phase: PostExtaction (since verify is disabled)
'This script need only be applied at the form level once per template.
'Specification: Roll thru all zones. If MarkSense, see if more than one hit. If more than one hit, set to no hits
For xx = 1 To Form.ZoneCount
If Form.Zone(xx).IsOMR Then
If Form.Zone(xx).UniqueCheckedBoxOffset = 0 Then
Form.Zone(xx).UncheckAllBoxes
End If
End If
Next