i want to show void orders for both unpaid and paid tickets but i am unable to show orders for unpaid tickets. i am using kitchen setup module
[Tickets:1,2,2,2,2,2, 2,2]
Ticket No|Date|Time|Table|Order State|Menu Item|Amount|Ticket Status
{REPORT ORDER DETAILS:T.TicketNumber,T.Date,T.Time,EN.Tables,OS.GStatus,O.MenuItemName,ON.TotalPrice,TS.Status}
You set no State expression. You should set the expression for the State or States you want to view. So you should use an expression to show Paid and UnPaid states.
Example:
[Tickets:1,2,2,2,2,2, 2,2]
Ticket No|Date|Time|Table|Order State|Menu Item|Amount|Ticket Status
{REPORT ORDER DETAILS:T.TicketNumber,T.Date,T.Time,EN.Tables,OS.GStatus,O.MenuItemName,ON.TotalPrice,TS.Status:(OS.GStatus=Void) AND ((TS.Status=Paid) OR (TS.Status=Unpaid))}
This causes the report to show only if Ticket is in Paid or Unpaid status
EDIT: I fixed the syntax first one posted was not right. Try this syntax.
You should probably come up with a different system for voiding orders after payment. If you setup a State system for Void after Payment it could say Void - Refund or something similar. Or you could make it say Refund instead of void since it technically would be a Refund after payment anyway. You could even have Void Button turn into Refund if ticket is already paid.
I mean if ticket is unpaid button will say Void like normal if Ticket is Paid the same button will say Refund instead of void. You would support it with order states.
So the result would be if Voided before payment it will say Void… if voided after it would say Refunded or Void - Refunded or something to your liking.
States are a complex feature of SambaPOS and you can seriously mess up the flow of your system if you make a mistake. You should backup your database before any State changes you may make. Also you should probably study states and practice with them in Training mode before you actually attempt it on your real Database.
ok but i was also thinking if we want to differentiate can we use order tag
like
if order voided and ticket status unpaid
update order tag order voided
else
update order tag product refunded
You could do that but I think States is a more elegant way to do it considering the Void Button uses States. If you chose to use Order Tags then the expression would be something like (OT.TagName=Refunded) OR (OT.TagName=Voided).