Download Link.
http://sambapos.com/?wpfb_dl=135
Here are new features that comes with 5.1.54 release.
###Displaying duration on table buttons
{ENTITY STATE MINUTES}
tag implemented for displaying time passed on table buttons.
Here is a sample display format that used New Orders
table state.
New Orders
state enables when we create a new ticket for a table and it changes table color to orange.
$1<br/>
<color White>${REPORT TICKET DETAILS:T.RemainingAmount:(TEN.Table=$1) and T.RemainingAmount>0:{0}}</color>
<br/>
{ENTITY STATE MINUTES:Status} min.
As a result table view screen appears like that.
Adding new orders will reset time to 0.
###Advanced Ticket Print Templating format.
A new printer type called Document Printer
implemented. You can change your printer type as Document Printer
to test this format.
If what default SambaPOS ticket templates does not solve your formatting needs you can prefer using this printer type. That printer supports XAML format that allows any document formatting feature .xps
documents supports. For example you can use tables, images, coloring features, fonts or relative sizing on ticket printing templates. That format produces a graphical output so your printer should support graphic printing to be able to benefit from this format. Here is a sample ticket format.
[LAYOUT]
-- General layout
<Section FontFamily="Calibri" Margin="0" LineHeight="1">
<Paragraph FontSize="30" TextAlignment="Center" Padding="0,0,0,10">
<Run>Ticket</Run>
</Paragraph>
<Paragraph>
Date: {TICKET DATE}<LineBreak/>
Time: {TIME}<LineBreak/>
</Paragraph>
{ENTITIES}
<Table Padding="0,0,0,10">
<Table.Columns>
<TableColumn Width="*"/>
<TableColumn Width="3*"/>
</Table.Columns>
<TableRowGroup><TableRow>
<TableCell><Paragraph>Ticket No:</Paragraph></TableCell>
<TableCell><Paragraph>{TICKET NO}</Paragraph></TableCell>
</TableRow></TableRowGroup>
</Table>
<Table Padding="0,10" BorderThickness="0,1,0,1" BorderBrush="Black">
<Table.Columns>
<TableColumn Width="2*"/>
<TableColumn Width="15*"/>
<TableColumn Width="3*"/>
</Table.Columns>
{ORDERS}
</Table>
<Table Padding="0,10">
<Table.Columns>
<TableColumn Width="6*"/>
<TableColumn Width="2*"/>
</Table.Columns>
{DISCOUNTS}
[<TableRowGroup><TableRow>
<TableCell><Paragraph FontSize="16" TextAlignment="Right">Total Gift:</Paragraph></TableCell>
<TableCell><Paragraph FontSize="16" TextAlignment="Right">{ORDER STATE TOTAL:Gift}</Paragraph></TableCell>
</TableRow></TableRowGroup>]
{SERVICES}
<TableRowGroup><TableRow>
<TableCell><Paragraph FontSize="20" TextAlignment="Right"><Bold>Total:</Bold></Paragraph></TableCell>
<TableCell><Paragraph FontSize="20" TextAlignment="Right"><Bold>{TICKET TOTAL}</Bold></Paragraph></TableCell>
</TableRow></TableRowGroup>
</Table>
<Table Padding="0,10">
<Table.Columns>
<TableColumn Width="6*"/>
<TableColumn Width="2*"/>
</Table.Columns>
{PAYMENTS}
</Table>
<Paragraph TextAlignment="Center" BorderThickness="0,0.5,0,0" BorderBrush="Black" Padding="10">
THANK YOU<LineBreak/>
</Paragraph>
</Section>
[DISCOUNTS]
<TableRowGroup><TableRow>
<TableCell><Paragraph FontSize="16" TextAlignment="Right">{CALCULATION NAME} %{CALCULATION AMOUNT}</Paragraph></TableCell>
<TableCell><Paragraph FontSize="16" TextAlignment="Right">{CALCULATION TOTAL}</Paragraph></TableCell>
</TableRow></TableRowGroup>
[SERVICES]
<TableRowGroup><TableRow>
<TableCell><Paragraph FontSize="16" TextAlignment="Right">{CALCULATION NAME}</Paragraph></TableCell>
<TableCell><Paragraph FontSize="16" TextAlignment="Right">{CALCULATION TOTAL}</Paragraph></TableCell>
</TableRow></TableRowGroup>
[PAYMENTS]
<TableRowGroup><TableRow>
<TableCell><Paragraph FontSize="16" TextAlignment="Right">{PAYMENT NAME}</Paragraph></TableCell>
<TableCell><Paragraph FontSize="16" TextAlignment="Right">{PAYMENT AMOUNT}</Paragraph></TableCell>
</TableRow></TableRowGroup>
[ORDERS]
-- Default format for orders
<TableRowGroup>
<TableRow>
<TableCell><Paragraph>- {QUANTITY}</Paragraph></TableCell>
<TableCell><Paragraph TextAlignment="Left">{NAME}</Paragraph></TableCell>
<TableCell><Paragraph TextAlignment="Right">{TOTAL PRICE}</Paragraph></TableCell>
</TableRow>
</TableRowGroup>
{ORDER TAGS}
[ORDERS:Gift]
-- Format for gifted orders
<TableRowGroup>
<TableRow>
<TableCell><Paragraph>- {QUANTITY}</Paragraph></TableCell>
<TableCell><Paragraph TextAlignment="Left">{NAME}</Paragraph></TableCell>
<TableCell><Paragraph TextAlignment="Right"><Bold>GIFT!</Bold></Paragraph></TableCell>
</TableRow>
</TableRowGroup>
{ORDER TAGS}
[ORDERS:Void]
-- Nothing will print for void lines
[ORDER TAGS]
-- Format for order tags
<TableRowGroup>
<TableRow>
<TableCell><Paragraph TextAlignment="Right">* </Paragraph></TableCell>
<TableCell><Paragraph TextAlignment="Left">{ORDER TAG NAME}</Paragraph></TableCell>
<TableCell><Paragraph TextAlignment="Right">{ORDER TAG PRICE}</Paragraph></TableCell>
</TableRow>
</TableRowGroup>
[ENTITIES:Table]
-- Table entity format
<Table>
<Table.Columns>
<TableColumn Width="*"/>
<TableColumn Width="3*"/>
</Table.Columns>
<TableRowGroup><TableRow>
<TableCell><Paragraph>Table:</Paragraph></TableCell>
<TableCell><Paragraph>{ENTITY NAME}</Paragraph></TableCell>
</TableRow></TableRowGroup>
</Table>
[ENTITIES:Customer]
-- Customer entity format
<Table>
<Table.Columns>
<TableColumn Width="*"/>
<TableColumn Width="3*"/>
</Table.Columns>
<TableRowGroup>
<TableRow>
<TableCell><Paragraph>Customer:</Paragraph></TableCell>
<TableCell><Paragraph>{ENTITY NAME} {ENTITY DATA:Phone}</Paragraph></TableCell>
</TableRow>
<TableRow>
<TableCell><Paragraph>Address:</Paragraph></TableCell>
<TableCell><Paragraph><Run xml:space="preserve">{ENTITY DATA:Address}</Run></Paragraph></TableCell>
</TableRow>
</TableRowGroup>
</Table>
This format ignores printer’s character count setting so you can use tables to adjust lines for paper.
###Optional lines on printer templates
In ticket printer templates you can mark a section as optional by surrounding them in brackets. For example on document template sample I showed on top Total Gift
line will print if Total Gift amount is greater than 0.
On this release this feature greatly improved to support expressions, multi line formats and inner tags.
###Order Tag Mapping on Recipes
You can map order tags to recipe items inside recipes.
In this sample
Hamburger
inventory item will be used by default.Cheese
item will be used if order not tagged withNo Cheese
order tag.!
character means not and it negates mapping.- Egg item will be used if order tagged with
Add Egg
order tag.
As you know you can map products to order tags to decrease inventory for products that mapped to product with order tags. You can use both methods depending on your setup. The difference is if you map Coke
with product mapping Coke cost will calculated for Coke product. If you map Coke
inside recipe, Coke
cost will be added to Hamburger Menu
product.
Small features & Fixes
- Regional settings will be applied to custom reports correctly.
- Midpoint Rounding (rounding decimal numbers where decimal part ends with 5) method will be
Upper
on all screens. For example 5.345 will round to 5.35 and 5.335 will round to 5.34. - Printer’s page dimension that configured on windows printers setting will be used for HTML printer template.
Local Setting
property added to Editor widget to directly editing SambaPOS Local Settings without need of configuring actions. Don’t use this feature to edit global settings.- Tickets will merge if they contains multiple identical calculations.
- Better multi line formatting support for Data Export templates.
- Text wrapping setting added for block tags. For example
<block 5,0,0,0 #01FFFFFF Left 225 wrap>
- For
<img>
tags fill, uniform, uniformfill stretching settings added. Syntax is<img height width stretch>
.