ITrack/Barcodes

From ISoft Wiki
< ITrack
Revision as of 11:14, 15 January 2014 by Jmckinstry (talk | contribs)
Jump to navigationJump to search

Several elements of ITrack and ITrack software utilize barcodes. All ITrack products should utilize a similar barcoding scheme.

Preamble and postamble

Virtually every barcode scanner can be programmed to simulate a keypress combination before entering the barcode contents (the preamble) and after (postamble).

ITrack Pro

ITrack Pro document screens (Sales, Quotes, Purchase Orders) expect a preamble of Ctrl+b and a postamble of \n.

The document screens will take whatever value is between those characters and do a lookup by partnum (the value encoded in barcodes on ITrack Pro tags), and if no values are found by partnum, by UPC (the value encoded into the barcodes printed on most products).

Workclock

The workclock system expects the barcode scanner to provide a preamble and postamble of ':$:'.

LXW

LXW defaults to preamble '~' and postamble '\r', but can be changed via Settings: 'ITrack LX'-'Preamble Character Codes' and 'Postabmle Character Codes'

Barcode Formatting

Depending on the context, the barcode will encode different types of values.

Objects Barcode Contents
Inventory *[inventoryid]*
Serialized Inventory *[inventoryid]-[inventoryserialid]*
Location *%[locationid]*
Sales Order *S[storeid]-[salesorderid]*
Purchase Order *P[storeid]-[purchaseorderid]*
Transfer Order *T[transferorderid]*
Work Order Job *J[jobid]*
ITrack User *U[userid]*
  • Encoded location names are currently accepted as alternate location barcode formatting even though it is not standard.


Actions Barcode Contents
Clock the selected user into a selected job *+CLOCKIN*
Clock the selected user out of an active job *+CLOCKOUT*

Weaknesses

List of things to fix in the current scheme that will cause trouble down the road:

  • Inventory ID and InventoryID-SerialID are not prefixed, (potentially) overlapping with number-only string location names
  • Inventory ID, InventoryID-SerialID, LocationID do not include storeid, requiring it to be guessed at and limiting its effectiveness if not outright causing bugs