What the barcode engine is
One engine reads every barcode in Businessflo. No screen has its own scanning code that you must ask a programmer to change. What a code means, what it points at, and what a scan does on each screen are all lines on setup screens.
The idea in one paragraph
A barcode is only a string of characters. 0600012 means nothing until something says "a code starting with 06 is a batch, and the rest is the batch number". The engine does that in four steps, always in the same order, and each step is decided by a setup screen you can open and change.
The four steps
- Scan. The code arrives one of three ways: a handheld scanner that types like a keyboard, the device camera, or a person typing the code into the Scan barcode box. All three hand the engine the same thing: a string, the screen it was scanned on, and what the user was doing there (viewing, creating, editing, or on the list).
- Parse. A nomenclature is the rule book for reading the string. It cuts the code into named parts: this part is the lot, this part is the weight, this part is the expiry date. It also says what kind of thing the code is: an item, a lot, a location, a package.
- Resolve. Now the engine finds the actual record. It looks first in the issued register, the list of codes Businessflo itself has generated. Only if the code is not there does it try the identity resolvers, which are lines saying "an item code is found in this table, in this column". The match is always exact.
- Dispatch. The assignment line for the screen lists actions: on this screen, when an item is scanned, add it to this grid. The engine picks the actions that fit the screen, the activity and the kind of thing scanned. One action runs straight away. Several are offered as a short list to choose from.
The screen then does what the action says: fills a field, adds a line, opens a document, opens a report.
Three things worth knowing early
A screen can answer a scan itself. Some screens have their own handling for a scan, written for what that screen does. Picking List Registration is one: it knows what scanning a batch means for a picking list. Such a screen is asked first, and the configured actions run only if the screen does not take the scan. See the batch scenario.
Command barcodes work everywhere. A code that starts with BF-CMD. is an instruction, not data. BF-CMD.SAVE saves the open document. These need no assignment line at all. The full list is in the glossary.
Every scan is logged. Each scan that reaches the engine is written to a scan log with the code, the screen, the outcome and the user, whether it worked or was refused.
Reading and printing are two halves
The same setup serves both directions.
| Direction | What happens | Decided by |
|---|---|---|
| Reading | A scanned code is parsed, resolved and dispatched | The nomenclature, the issued register, the identity resolvers and the action lines of the assignment |
| Printing | A code is built for a record or a grid cell and shown as a label | The template lines and the PRINTCELL action lines of the assignment. A code generated for a whole record also needs the barcode switch on Legal Entity |
Where to go next
- To set a company up: Switch barcode on for a company.
- To see it work end to end: Print a batch label on the production order, scan it on Picking List Registration.