Use the Action called Execute Automation Command. It has a parameter for Delay.
In your Rules for Ticket Closed event, add an action for Execute Automation Command that calls the above Action, then set another Rule for Automation Command Executed Event for that Command, and place the Logout User Action within it.
I use the delay to overcome screenswitch issue on logout, i have it set to 1 second so ticket sorts itself out then logout action kicks in 1 second later
This just delays when logout happens at the normal time ie ticket closed, i dont think there is a way it can be set for inactivity for example set at 60 seconds then touch the screen, wait 30 seconds and touch screen again to reset timer, then wait a further 60 seconds for logout to happen.
For logout to happen ticket would always need an entity assigned for the ticket to close, so a timed logout wouldnt work anyway if there wasnt an entity or ticket tag auto assigned to every ticket created
It works fairly well. Even though the Automation Command attempts to fire after X seconds, if there is an open Ticket, the Logout fails. Only 2 Actions and 2 Rules required…
I am running a new version (with lots of new features) that is currently undergoing a lot of testing. I don’t use it in production, because it may still contain bugs, but it is getting close.
Im pushing it with the upgrades, my till isn’t supposed to be supporting windows 7. waiting for the cash to buy a touchscreen so I can upgrade!
Thanks for the above tutorials, I’ve just gone through them now, ill let you know how I get on!
Everyone here is great, what a community. I just hope with all the learning I’m doing now I can later pass on my knowledge. i get a lot of free time at work.
So… it works fairly well. However… there are a pile of other scenarios that don’t work, so it is not a true timed autologout. We need to take more control over what is happening at various other times. For example…
Create a Ticket, then close it, or pay it, or whatever.
Now navigate somewhere, like the Accounts screen, or the Tickets screen, or the Reports screen, or simply click Select Table (or Customer), but don’t actually select an Entity.
Sit there until the delay has passed, and you will be logged out.
Ok, so we don’t really want to be logged out at that point. We need to reset the delay (reset the timer) somehow…
I’m thinking something like Application Screen Changed Event and an Update Program Setting Action to store the delay… let me think on this a little more…
It logs out the users well with how I’ve set it up now.
I have only 2 scenarios with users on my till as it goes straight into POS mode after login. this is:
They complete the transaction, the amount processed was the exact amount that was tendered, the ticket auto closes and then auto logs out after 30 seconds.
They complete the transaction, the amount processed was less than the amount that was tendered, the ticket auto closes after 30 seconds, the user logs out after a further 30 seconds.
For my trade, i believe the solution has been created.
I don’t understand your question. What do you mean by “processed”?
It will attempt to logout after a certain time, but at least one thing will prevent that from happening: an Open Ticket. I expect this to be the behavior you would want.
If you have implemented a mechanism to auto-close a ticket, then logout, then it’s a different story.