Workarround would probably be tricky as even changing product name would still leave the issue for backdated reports given the use of order name - the order name is not changed with menuitem name change.
And using menuitem name for the @list will leave orders of menu items which has since been changed would be missed.
Have changed to issue unless someone has any bright ideas for a work arround.
If you loose the non normal portion bit and allow order not by sales desc you could use;
@{REPORT ORDER DETAILS:O.ItemGroup.asc,O.ExactTotal.Sum::{0}:,}
[$1 Sales:8,4 , 2, 2]
{REPORT ORDER DETAILS:O.MenuItemName.asc,O.PortionName,O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:(ODI=True) and (MG=$1)}
>>Total $1|{REPORT ORDER DETAILS:O.Quantity.Sum,O.ExactTotal.Sum:(ODI=True) and (MG=$1)}
It is a shame that my all my automated tests uses upper case AND. So using AND or && as the operator will probably solve the issue but on next update using lower case and will also work fine.
No, don’t think so. It is an unfortunate side effect of the reporting system emre made to help people that didn’t know SQL.
You could create the report in SQL and bypass the report expressions or use alternative layout which doesn’t get effected by this issue.
Thanks @JTRTech all my Sandwiches items are missing in the reports and I cant use alternative characters. Is there any person with a work round, and anyone who has sql template/scripts for this problem that we can learn from
[Group Sales by Amount:2, 1, 1]
{REPORT ORDER DETAILS:O.ItemGroup,O.ExactTotal.Percent.desc,O.ExactTotal.Sum:(ODI=True)}
>Total|{REPORT ORDER DETAILS:O.ExactTotal.Sum:(ODI=True)}
[Group Sales by Quantity:2, 1, 1]
{REPORT ORDER DETAILS:O.ItemGroup,O.Quantity.Percent.desc,O.Quantity.Sum:(ODI=True)}
>Total||{REPORT ORDER DETAILS:O.Quantity.Sum:(ODI=True)}
[Sales:5, 2, 2,1]
@{REPORT ORDER DETAILS:O.MenuItemName,O.ExactTotal.Sum.desc:(ODI=True):{0}:,}
>{REPORT ORDER DETAILS:O.MenuItemName,O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:(ODI=True) and O.MenuItemName="$1"}
{REPORT ORDER DETAILS:' '+[O.PortionName],O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:(ODI=True) and O.MenuItemName="$1":2}
I have group code inline so products are also grouped by group code as useing for stock takes etc rather than seeing order of qty/value sold.
Price can probably come out too as thats in there to save printing price list out each time stocktaker comes.
Like this if you want it stripped down ordered by qty.
{REPORT ORDER DETAILS:,O.MenuItemName,O.PortionName,O.Quantity.Sum.desc,O.Total.Sum.desc:(ODI=True)}
That’s how our item sales report like. all item with sandwich are not in the sales report, I had other items like Lemon and Ginger but changed it to Lemon & ginger, But no I Sandwich must have the
Its the @ list that causes the issue I think not ODI.
Your using the @ declaration to list menu items in order to display portions on individual lines.
By keeping it inline and dropping the @ it resolves this issue.
I originally had similar issue with commas in names as default list is comma seperated however this can be avoided by using alternative character like pipe | or something.
Its a little squashed onscreen with the extra columns but usually print from office on A4 where more width;
Never thought about sandwiches, it came to light here when stocktaker noticed a variance on Brandy.
We dont do itemised stock for food so that never came up.
@stephencoduor what version are you using.
Just checked after noticing emre saying will fix for lowercase 'and.
On my version although beta should be fixed on current release version sandwich works…
Your report returns;
Guess I was wrong saying there wasnt a fix. guessing your using an older version. Think 5.1.20 is current release version.
Id hazzard a guess this was fixed arround the 5.2.18 range.