If Execute Print Job
action receives a Ticket
value it will skip all configuration and print that ticket for good reasons. @allmixedup I think that setup fulfills your “printing on demand” case and it allows you to use single button (print bill) for both tasks. If there is no active ticket on screen it will print last ticket, otherwise active ticket…
What you are trying to do will allow operator to print Customer X’s ticket while receiving order from Customer Y but I’m not sure if operator should be able to do it that way. Having two buttons on screen for printing different tickets might lead to issues. If there is a visible ticket on screen and if operator prints something it should be the active ticket.
OK I’ll stop being smart and coming to the fun part. We can use a dirty trick to hide active ticket from execute print job action so it will use TicketId to print bill. Our hacking tool will be mysterious Modify Variable
action. With that action we can alter action variables. It accepts a regular expression (find value) and replaces it with replace value. It basically works with variables that holds string values and you can use it to strip unwanted chars (for example % from mag card data, blanks or non numeric values from user entered values… ).
Active ticket also passes through actions as a variable behind the scenes so if I modify Ticket
variable it will become Null
for next action.
I left Find
value empty and typed .
as the Replace value. That will corrupt Ticket
value so next running action wont be able to read active ticket. So executing that action before Execute Print Job
action will force Execute Print Job
action to use Ticket Ids
…
Note: It might not always solve issues magically as shown here