Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The normal Barcode Mapping and Barcode Parsing option on the Document Index Fields screen are usually sufficient for populating index fields. However, if your barcode processing requirements are too complex for these options, check the "Use Barcode Processing Script" checkbox and press the Open Script Editor button. This option is available in Document Index Fields and Folder Index Fields:

The methods for both folder and document index field processing are accessed through the BarcodeProcessingScript class.

BarcodeProcessingScript Class

ProcessDocumentBarcodeData Method

The ProcessDocumentBarcodeData method is called whenever a new document is created.

Parameters:

DirectionsParameterTypeDescriptions
INdocumentIDocumentThe current document
barcodeslist of IBarcodeThe list of barcodes detected on the document's separator sheet
Code Block
languagec#
titleExample – Check each barcode for a valid PO number. If found, store the number in the document’s notation.
public virtual void ProcessDocumentBarcodeData(IDocument document, IEnumerable<IBarcode> barcodes)
{
  try
  {
    string poNumberText = string.Empty;
    // Locate the Purchase Order barcode
 	foreach(IBarcode barcode in barcodes)
    {
      if(barcode.Value.StartsWith("PO", StringComparison.CurrentCultureIgnoreCase))
      {
        // Store the barcode's value, removing the leading letters "PO"
        poNumberText = barcode.Value.Substring(2).Trim();
        // Verify that the remaining characters make up a valid integer.
        // If so, we've found the value we need, so stop the foreach loop.
        int poNumber;
        if(int.TryParse(poNumberText, out poNumber))
          break;
        // The text was no a valid PO number, so reset the local varriable and keep searching.
        poNumberText = string.Empty;
      }
    }
    // Set the document's notation value to the PO number (or to blank if none was found)
    document.DocumentNote = poNumberText;
  }
  catch (Exception exception)
  {
    base.ProcessException(exception);
  }
}

ProcesFolderBarcodeData Method

The ProcessFolderBarcodeData method is called whenever a new folder is generated.

Parameters:

DirectionParameterTypeDescription
INfolderIFolderThe current folder
barcodesIBarcodeThe list of barcodes detected on the folder's separator sheet
Code Block
languagec#
titleExample – Locate the first Data Matrix barcode on the page (if any). If found, set the folder’s note value to the value of the barcode.
public virtual void ProcessFolderBarcodeData(IFolder folder, IEnumerable<IBarcode> barcodes)
{
  try
  {
    // Find the first Data Matrix barcode in the list of barcodes
    IBarcode dataMatrixBarcode = barcodes.FirstOrDefault(b => b.Type == BarcodeTypes.DataMatrix);
    if(dataMatrixBarcode != null)
      folder.FolderNote = dataMatrixBarcode.Value;
  }
  catch (Exception exception)
  {
    base.ProcessException(exception);
  }
}

On this page:

Table of Contents
stylesquare

Related Pages:

Content by Label
showLabelsfalse
spacesCAPTURE
showSpacefalse
cqllabel = "script" and space = "CAPTURE6CAPTURE"
labelsscript