SambaPOS 5.1.54 Release

Download Link.
:arrow_down: 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.

:bulb: 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 with No 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>.
5 Likes

Hi Emre,

Would it be possible to arrange a meeting with you? I am a fan of your work and would like to work with you on this project. Please let me know the best we to contact you.

Ben

This version has the same bug in changing Currency Decimals … i cannot change database decimals and some of my products will remain to 0.
How can i fix this ?

No this is not same error. It says you don’t have syscolumns table. Which SQL Server version did you installed? If it is possible can you execute this sql script and tell me what it returns?

 SELECT * FROM syscolumns

i dont have sql server installed
i have CE version

Please upgrade CE to Local DB. As you add more tickets you’ll have performance issues with SQL CE and this seems like won’t solved by Microsoft. We decided not to support it as Microsoft stopped it’s development and replaced it with Local DB.

fyi: For next update I’ll also try to solve that for CE if it supports such modifications.

Is it possible to generate barcodes using XAML?
I tried this but get an error ‘ig’ is an undeclared prefix.

<ig:XamCode39Barcode x:Name="Barcode" Data="{TICKET ID}" />

You can use the built in printer tag for barcode and it has parameters you can use. Look up the printer template tags tutorial it explains it more.

<BAR> tag is not working with new Document Printer

The line that contains Barcode should start with <BAR> tag.

I had it outside the <Paragraph> Tag.
Its working now thanks.

1 Like

I like the Order Tag Mapping on Recipes hopefully we can map it all together without having to go to different screens
I’m really with idea of creating an IOS app to use to connect to the db server I was looking at some dot net to ios code converters I dont know if there are any plans for that

An IOS app would be nice but think there would be more to it than just making/converting the program.
I could imagine printing would be a good example, samba recognizes printers configured within the OS - I am out of touch with IOS to be honest but have not seen a facility to configure a printer on an ipad or iphone - yes you can print to a select number of networked desktop printers.
Thats not to say it wouldn’t be possible but expect samba would need to be reconfigured to print directly to a networked printer.
I wouldnt hold your breath on emre creating an IOS app in the foreseeable future.

well the printing is some thing I missed I did some quick research about the IPAD printing capability and i found some stuff about Airprint Printers that can be used to print form the ipad to an aiprint printer. There is a long list of supported printers at this page

but again I’m sure its not as easy as it seems but I was looking at that option
thank you very much for your assistance

we purchased V5 and we are looking forward to upgrade from v4 to v5 and take advantage of all the new capabilities

At the minute the best/only solution if you need to use iOS device is Remote Desktop.
There is the Remote Desktop hack some people use due to Remote Desktop server licence being so expencive but the cheapest legitimate solution is multiple USFF PCs, one for each device.

Can we use ‘time state changed’ in an online custom report?

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.