Pole Display problem

Hello All

I’ve used John’s tutorial on setting up a pole display, however this tutorial doesn’t seem to work properly with SambaPOS V4 as I’m getting unexpected results on the display.

The Tendered Amount and Change Due fields do not work at all.

Would be really grateful if some kind person would update this tutorial for use with V4.

Many thanks


I have a 2-line, 20-character-per-line display with a serial connection. I have a printer defined as “Pole Display”, and have set Line Count = 2 and Line Character Count = 20.

This is what works for me…

Printer Template “Pole Total

<J>Pd:{TICKET TAG:TenderedAmount}| Chg:{TICKET TAG:ChangeDue}

Printer Template “Pole Items


There are Rules and Actions defined to set the {TICKET TAG} (note the space between the words in the Template) for TenderedAmount and ChangeDue.

Thanks @Q​Mc​Kay - this is superb.

I’ve just got a couple further questions/issues:

  1. I’ve noticed is that in the Pole Items template, the {TICKET TOTAL} doesn’t actually show the subtotal of the entire ticket; only the value of the last item. Any ideas?
  2. Is there any way of showing an “Amount Due” template on the display when the “Settle” button is pressed? (As you normally see on standard Retail POS terminals). I’ve had a play and can’t seem to fathom it.

Thanks again


The Rules/Actions I’ve shown are for updating the {TICKET TAG} values. There are more Rules and Actions involved in updating the Pole Display. For example…

For the Settle button, a Rule such as this should work (I haven’t tried this since I don’t require it)…

I may have spoken too soon - now the Pole Display is driving me insane.

I have a Rule that adds a Coffee as a Gift for certain items.
I also have fixed price Discount buttons of 10,20,30,40,50.
And then there are price differences for Portions.

Here’s a scenario that illustrates all the issues, which are related to {TICKET TOTAL} in my Pole Items printer template…

Add a Breakfast Sandwich, (value 100).
A rule adds a Coffee (value 40) and tags it as a Gift.
The POS screen shows the correct Total of 100, but the Pole Display shows an incorrect Total of 140.
Add a Latte.Double (value 80), and the Pole Display shows the correct Total of 180.
Now change the Portion of the Latte to Single (value 60) and the Pole Display shows an incorrect Total of 60 (should be 160).
Now Discount the Latte by 10 (automation command), and the Pole Display shows an incorrect Total of 50 (should be 150).
Add another item - Espresso (value 40), and the Pole Display shows the correct Total of 190.
Now Discount the Espresso by 20 (automation command), and the Pole Display shows an incorrect Total of 20 (should be 170).
Now highlight any item and increase the Quantity using the + button, the Pole Display Total does not change.
And so on and so on…

All this time, the POS display shows the correct Total, so we know the Rules and Actions are working, presumably in the correct order, but {TICKET TOTAL} in the Pole Items template is out to lunch.

@emre or @JohnS, can you confirm or deny these issues? Please look into it.:wink:

When I get back from Sydney in a couple of days, I’ll dig out a pole display and laptop (with a serial port) and test.

@John’s before doing that let me release 4.1.38 and @QMcKay can test that again if it solves these issues or not.

Thank everyone for your contributions and helpful suggestions. I have a peculiar problem with my pole display. Somehow it displays the Login and Log out banners fine but i get an error message when i select and item. There is a problem while printing. check printer and printer template settings. error message: positive number required. parameter name: lengthInTextElements. I’ve set my printer as demo printer. Anyone experience such problem?

  1. What is your language? (eg. Arabic, Chinese,…)
  2. Did you enabled RTL corrector?
  3. Can you post here the template that generates error?

The language is english and RTL corrector is set as none for both ticket printer and pole display. See below:

ticket printer:

pole display:

pole display items

pole display total:

here’s the log:

[General Info]

Application: SambaPOS
Version:     4.1.40
Region:      en
DB:          SQ
Date:        7/16/2014
Time:        4:26 PM

User Explanation:


[Exception Info 1]

Top-level Exception
Type:        System.ArgumentOutOfRangeException
Message:     Positive number required.
Parameter name: lengthInTextElements
Source:      mscorlib
Stack Trace: at System.Globalization.StringInfo.SubstringByTextElements(Int32 startingTextElement, Int32 lengthInTextElements)
   at Samba.Services.Implementations.PrinterModule.Formatters.JustifyAlignFormatter.JustifyText(Int32 maxWidth, String line, Boolean canBreak, IList`1 columnWidths)
   at Samba.Services.Implementations.PrinterModule.Formatters.JustifyAlignFormatter.GetFormattedLine()
   at Samba.Services.Implementations.PrinterModule.Formatters.AbstractLineFormatter.GetFormattedLineWithoutTags()
   at Samba.Services.Implementations.PrinterModule.Formatters.FormattedDocument.<GetFormattedText>b__2(ILineFormatter x)
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable`1 source, TAccumulate seed, Func`3 func)
   at Samba.Services.Implementations.PrinterModule.Formatters.FormattedDocument.GetFormattedText()
   at Samba.Services.Implementations.PrinterModule.PrintJobs.DemoPrinterJob.DoPrint(String[] lines)
   at Samba.Services.Implementations.PrinterModule.PrintJobs.PrintJobCache.Print()
   at Samba.Services.Implementations.PrinterModule.PrintJobs.PrintJobFactory.Print()
   at Samba.Services.Implementations.PrinterModule.PrintJobExecutor.InternalExecutePrintJob(PrintJob printJob)
   at Samba.Services.Implementations.PrinterModule.PrintJobExecutor.<Execute>b__3()
   at Samba.Services.Implementations.PrinterModule.AsyncPrintTask.InternalExec(Action action, ILogService logService)

In your template where you have XCT commands, change them from this:

<XCT 12>

to this:


The former is v3 syntax for eXeCuTe, while the latter is v4 syntax for eXeCuTe.

And not that it would matter much, but you have the Character Set as 857 (Turkish) in one printer and 437 (English) in the other printer.


Thanks. I have tried the above and i still get the same error massage. Somehow, the pole display works for user Login and Log out using the same execute command.

Problem solved! In the print action for pole Display Items and Pole Display Total, I initially set the Print Ticket parameter as false. So i decided to just leave it blank and it worked. Thanks everyone for your support and suggestions.

Thanks @QMcKay @emre

All my Actions for Execute Print Job to Pole Display has Print Ticket set to True, so I assume in absence of a value, the default is True.

Good to hear you got it resolved!