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. |
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] 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:-
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 >>. |
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. |
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
| ||||||||||||||||||||||||||
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
| ||||||||||||||||||||||||||||||
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 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
| ||||||||
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 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
| ||||||
Events with No Dataset Available | ||||||||||||||||||||||||||||||||
The following events have no variables available when the event is generated.
| ||||||||||||||||||||||||||||||||
Other Events | ||||||||
The following special events have a single variable available called %DATA% when the event is generated.
| ||||||||