OUTPUT EVENTS
Links on this Page
Overview
Controlling Output with Output Events
Variable Datasets
Header Dataset Events
Line Dataset Events
Receipt Header Dataset Events
Receipt Line Dataset Events
Report Header Dataset Events
Report Line Dataset Events
Events with NO Dataset
Other Dataset Events

 

Overview
One of the problems when designing a Point of Sale system or Cash Register is that new types of device may appear in the future, or new devices which are handled differently may need to be used, either because they offer enhanced features, or because the original models prove unreliable or replacement parts become unavailable.

This has particularly been a problem with Cash Registers and the printer mechanisms they use, and there have been many instances where entire cash registers have had to be replaced because a printer mechanism could not handle the workload, and the design of the Cash Register made it too expensive or even impossible to use a new printer mechanism.

In order to facilitate usage of a wide range of new or improved hardware devices, SELLmatix POS is designed to handle devices in a much more flexible manner. Instead of directly controlling the hardware at the appropriate time, SELLmatix POS generates "Output Events".

Any device can be configured to respond to any output event through entries in the appropriate device section of the "SELLmatix pos.cfg" file. If a device needs to respond to a particular output event, then an entry for that event should appear in the device section of "SELLmatix pos.cfg" for that device. If the device does not need to respond to that particular Output Event, then you simply omit an entry for that device in the "SELLmatix pos.cfg" file.

For example, when SELLmatix POS needs to open the Cash Drawer, it does not try to directly control Cash Drawer hardware. Instead it sends an "Open Drawer" output event to the output processing system. The output processing system looks in the "SELLmatix pos.cfg" file to determine what devices should respond to this event and how the device should be controlled. In this case, an "Open Drawer=" command should appear in the [Cash Drawer] section of the "SELLmatix pos.cfg" file which contains information about how to respond to this event.

On the other hand, the Customer Display probably does not need to respond to an "Open Drawer" event, and so there would probably be no entry in the [Pole Display] section of the "SELLmatix pos.cfg" file. On the other hand, if you wanted the word "Bing!" to appear on the Pole Display, when the cash drawer opened, then you could do this by adding an entry to the [Pole Display] section of pos.cfg for handling an "Open Drawer=" event.

Back to top


Controlling Output with Output Events
When SELLmatix POS needs to generate output, it checks the in the "SELLmatix pos.cfg" for every device which is running to determine if that device needs to respond to that output event, and if so, how to respond. A typical entry in "SELLmatix pos.cfg" for a ticket printer would be as follows:-

[Ticket Printer]
Type=P
Input=0
Output=1
Driver=\\POS01\Star TSP700 Raster Printer
Receipt Header=<RESET><CENTER><XTEND,B,receipt.bmp,5,0,95,30><BR>
Receipt Header1=<XTEND,F,,10,0,600,0,0,>%SITE NAME%<BR>PH: %SITE PHONE%<BR>
Receipt Header2=%SITE ADDR 1%<BR>%SITE ADDR 2%<BR>%SITE ADDR 3%<BR>%SITE ADDR 4%<BR>
Receipt Header6=TAX INVOICE %DOCNUM%<BR>

In this example, the ticket printer is shared over the local LAN and connected to a computer called POS01, and SELLmatix POS is controlling this printer through a Windows Printer Driver. This device receives data from SELLmatix POS, but does not send data to SELLmatix POS.

This printer is set you respond to "Receipt Header=" output events (as well as others not shown here). Note that devices can have more than one output in response to an Output Event. All these responses are processed when this Output Event occurs, starting with the name of the output event, and then up to 9 additional output commands can be processed by adding the number 1-9 to the end of the Output Event name. These additional outputs are processed in numerical order.

The text string which appears after the name of the Output Event is made up of 3 different types of data. These are:-

  • String literals, or in other words text appearing on its own. In the above example, the "PH:" which appears on "Receipt Header1=" and the words "TAX INVOICE" which appear on "Receipt Header 6=" are string literals, and these are printed out exactly.
  • Variables which are enclosed in '%' symbols. These variables are replaced with the appropriate information when the data is printed. In this example, the %SITE NAME%, %SITE PHONE% etc. are replaced with the name of the store, and the store's phone number when this output is processed.
  • Format and Device Control Commands which begin with a '<' character, and end with a '>' character. For example, the <BR> command tells the device to perform a line break. The <RESET> command tells the device to perform a reset to factory defaults. and the <XTEND,B,...> command tells the device to display a bitmap image.
For more information on Output Formatting click Here

Note that if you need to output the actual '%', '<' or '>' character as literal text to the device, then you should enter the character twice, as in %%, or <<, or >>.

Back to top


Variables Datasets
When SELLmatix POS generates an Output event, there is certain data which may be associated with the event which may need to be sent to the device. For example, when a product is added to the sale, SELLmatix POS generates a "Sale PLU=" event. This event would probably be handled by several devices, such as a Pole Display, Receipt Window, Journal Window or printer and so forth. A "Sale PLU=" entry should be present in the device section of "SELLmatix pos.cfg" for each device that needs to handle this event.

The type of data available depends on the type of event that SELLmatix POS generates. For example when a "Sale PLU=" event is generated, information about the PLU being sold is relevant. But when a "Receipt Header=" event is generated, different information is relevant, and information about a particular line on the sale is not applicable, since no particular line is being referred to when this event is generated.

Variables which are relevant at a particular stage of processing are grouped into Datasets and any variable from the relevant dataset may be used to output information to the device.

Back to top


Header Dataset Events
The following events have variables in the Header Dataset available when the event is generated.

Note: "Loc N" events are generated by SELLmatix Control when printing Orders on Kitchen Printers and the definitions for handling these events must be in the file "SELLmatix Control.cfg". All other events are generated by SELLmatix POS and the definitions for handling them must be in the file "SELLmatix POS.cfg"

To see a list of the variables available when these events are generated, click here

Header Dataset Output Events
Event Name Description
SubTotal New Subtotal
NewSale New Sale Started
Receipt Plus Tax Receipt line tax added
Receipt Rounding Receipt Cents Rounding Amount
Clerk New Clerk Logon
Order No Order Number Entered
Customer New Customer Entered
Rounding Adj Rounding Adj Used
NewTotal New Sale Total Calculated
Loc N Order Hdr Header for output to Kitchen printer Location "N", where "N" is a printer Location number between 1 and 9
Loc N Order Ftr Footer for output to Kitchen printer Location "N", where "N" is a printer Location number between 1 and 9
Back to top

Line Dataset Events
The following events have variables in the Line Dataset available when the event is generated.

Note: "Loc N" events are generated by SELLmatix Control when printing Orders on Kitchen Printers and the definitions for handling these events must be in the file "SELLmatix Control.cfg". All other events are generated by SELLmatix POS and the definitions for handling them must be in the file "SELLmatix POS.cfg"

To see a list of the variables available when these events are generated, click here

Line Dataset Output Events
Event Name Description
Sale PLU Product Added to Sale
Payment Money Tendered
Payment Change Payment with Change
Accumulator Accumulator Line
Void Item Voided
Stocktake Stocktake Qty Recorded
Price Price Overridden Manually
Disc Perc Discount percentage Specified
Disc Value Disc Amount Entered
Goods Received Inventory Qty Received
Loc N Order Plu Item Ordered and being printed on Kitchen Printer Location "N", where "N" is a printer Location number between 1 and 9
Loc N Order Memo Free Form Memo for item ordered and being printed on Kitchen Printer Location "N", where "N" is a printer Location number between 1 and 9
Loc N Plu Cancel Cancellation of a line item already printed on Kitchen Printer Location "N", where "N" is a printer Location number between 1 and 9
Back to top

Receipt & Account Header Dataset Events
The following events have variables in the Receipt Header Dataset available when the event is generated.

Note:Account events are generated by SELLmatix Control and the definitions for handling these events must be in the file "SELLmatix Control.cfg" while Receipt Events are generated by SELLmatix POS and the definitions for handling them must be in the file "SELLmatix POS.cfg"

To see a list of the variables available when these events are generated, click here

Receipt & Account Header/Footer Dataset Events
Event Name Description
Receipt Header Output Receipt Header
Account Header Output Account Header
Receipt Footer Output Receipt Footer
Account Footer Output Account Footer
Receipt SignFooter Receipt Footer to be Signed
Back to top

Receipt & Account Line Dataset Events
The following events have variables in the Receipt Line Dataset available when the event is generated.

Note:Account events are generated by SELLmatix Control and the definitions for handling these events must be in the file "SELLmatix Control.cfg" while Receipt Events are generated by SELLmatix POS and the definitions for handling them must be in the file "SELLmatix POS.cfg"

To see a list of the variables available when these events are generated, click here

Receipt & Account Line Dataset Events
Event Name Description
Receipt Line Output an Receipt Line
Account Line Output an Account Line
Back to top

Report Header Dataset Events
The following events have variables in the Report Header Dataset available when the event is generated.

To see a list of the variables available when these events are generated, click here

Report Header/Footer Dataset Events
Event Name Description
Report Header Output Report Header
Report Footer Output Report Footer
Back to top

Report Line Dataset Events
The following events have variables in the Report Line Dataset available when the event is generated.

To see a list of the variables available when these events are generated, click here

Report Line Dataset Events
Event Name Description
Report Line Output Report Line Data
Back to top

Events with No Dataset Available
The following events have no variables available when the event is generated.

Output Events with NO Dataset
Event Name Description
No Sale No Sale Entered
Receipt Feed Feed Receipt Printer 1 Line
Journal Feed Feed the Journal Roll 1 Line
Open Drawer Open Cash Drawer
Send Weight Ask Scale for Current Weight
DLL Dev Print Header Output Header from DLL module
DLL Dev Print Footer Output Footer from DLL module
Start Print Print Job Starting
End Print End of Print Job
Error Unknown output Requested
InitDevice Device initalised.
CloseDevice Device Closed.
Clear Receipt Clear Refreshable Receipt
Sale Inactive Sale Complete and Active Timeout Expired
Back to top

Other Events
The following special events have a single variable available called %DATA% when the event is generated.

Other Dataset Output Events
Event Name Description
Socket Data Data Arrived via TCP/IP Socket. The variable %DATA% contains the information received over the socket. No other variables are available.
DLL Dev Print Line Output 1 line from DLL module.The variable %DATA% contains the information received over the socket. No other variables are available.
Back to top