5.0 Source Code
Committing 5.0 Source Code
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<fiscalreceipt>
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<!-- setting $vatinfo to the values contained in the fiscal printer vat table-->
|
||||
#if (${ticketline.getTaxInfo().getRate()}==0.04)
|
||||
#set ($vatinfo ="1")
|
||||
#elseif (${ticketline.getTaxInfo().getRate()}==0.1)
|
||||
#set ($vatinfo ="2")
|
||||
#elseif (${ticketline.getTaxInfo().getRate()}==0.2)
|
||||
#set ($vatinfo ="3")
|
||||
#else
|
||||
#set ($vatinfo ="1")
|
||||
#end
|
||||
#if ($ticketline.isProductCom())
|
||||
<line price="${ticketline.getValue()}" units="${ticketline.getMultiply()}" tax="${vatinfo}">*${ticketline.printName()}</line>
|
||||
#else
|
||||
<line price="${ticketline.getValue()}" units="${ticketline.getMultiply()}" tax="${vatinfo}">${ticketline.printName()}</line>
|
||||
#end
|
||||
#end
|
||||
<message>Items count: ${ticket.printArticlesCount()}</message>
|
||||
#foreach ($paymentline in $ticket.payment)
|
||||
#if ($paymentline.name == "cash")
|
||||
<total paid="${paymentline.getPaid()}">Cash</total>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<total paid="${paymentline.getTotal()}">Refund</total>
|
||||
#end
|
||||
#if ($paymentline.name == "ccard")
|
||||
<total paid="${paymentline.getTotal()}">Mag card</total>
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<total paid="${paymentline.getTotal()}">Mag card refund</total>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<total paid="${paymentline.getTotal()}">Cheque</total>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<total paid="${paymentline.getTotal()}">Cheque refund</total>
|
||||
#end
|
||||
#end
|
||||
</fiscalreceipt>
|
||||
<!-- Other commands -->
|
||||
<!--
|
||||
<fiscalzreport/>
|
||||
<fiscalxreport/>
|
||||
-->
|
||||
</output>
|
||||
@@ -0,0 +1,25 @@
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
// Cash.Close
|
||||
// This script runs in the cash.close event
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
group = menu.addGroup("Menu.Main");
|
||||
group.addPanel("/com/unicenta/images/sale.png", "Menu.Ticket", "com.unicenta.pos.sales.JPanelTicketSales");
|
||||
group.addPanel("/com/unicenta/images/saleedit.png", "Menu.TicketEdit", "com.unicenta.pos.sales.JPanelTicketEdits");
|
||||
group.addPanel("/com/unicenta/images/customerpay.png", "Menu.CustomersPayment", "com.unicenta.pos.customers.CustomersPayment");
|
||||
group.addPanel("/com/unicenta/images/payments.png", "Menu.Payments", "com.unicenta.pos.panels.JPanelPayments");
|
||||
group.addPanel("/com/unicenta/images/calculator.png", "Menu.CloseTPV", "com.unicenta.pos.panels.JPanelCloseMoney");
|
||||
|
||||
group = menu.addGroup("Menu.Backoffice");
|
||||
submenu = group.addSubmenu("/com/unicenta/images/plugin.png", "Menu.Plugins", "plugins.configure");
|
||||
|
||||
submenu = group.addSubmenu("/com/unicenta/images/customer.png", "Menu.Customers", "com.unicenta.pos.forms.MenuCustomers");
|
||||
submenu.addTitle("Menu.Panel.Customers.Forms");
|
||||
submenu.addPanel("/com/unicenta/images/customer.png", "Menu.CustomersManagement", "com.unicenta.pos.customers.CustomersPanel");
|
||||
|
||||
submenu.addTitle("Menu.Panel.Customers.Reports");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.Report", "/com/unicenta/reports/customers.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.Sales", "/com/unicenta/reports/customers_sales.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.Debtors", "/com/unicenta/reports/customers_debtors.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.Diary", "/com/unicenta/reports/customers_diary.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.Cards", "/com/unicenta/reports/customers_cards.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.List", "/com/unicenta/reports/customers_list.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.Export", "/com/unicenta/reports/customers_export.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.Vouchers", "/com/unicenta/reports/customers_vouchers.bs");
|
||||
|
||||
submenu = group.addSubmenu("/com/unicenta/images/stockmaint.png", "Menu.Suppliers", "com.unicenta.pos.forms.MenuSuppliers");
|
||||
submenu.addTitle("Menu.Panel.Suppliers.Forms");
|
||||
submenu.addPanel("/com/unicenta/images/customer.png", "Menu.SuppliersManagement", "com.unicenta.pos.suppliers.SuppliersPanel");
|
||||
submenu.addTitle("Menu.Panel.Suppliers.Reports");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Suppliers.Reports.Report", "/com/unicenta/reports/suppliers.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Suppliers.Reports.Products", "/com/unicenta/reports/suppliers_products.bs");
|
||||
// submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Suppliers.Reports.Creditors", "/com/unicenta/reports/suppliers_creditors.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Suppliers.Reports.Diary", "/com/unicenta/reports/suppliers_diary.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Suppliers.Reports.Sales", "/com/unicenta/reports/suppliers_sales.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Suppliers.Reports.List", "/com/unicenta/reports/suppliers_list.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Suppliers.Reports.Export", "/com/unicenta/reports/suppliers_export.bs");
|
||||
|
||||
submenu = group.addSubmenu("/com/unicenta/images/products.png", "Menu.StockManagement", "com.unicenta.pos.forms.MenuStockManagement");
|
||||
submenu.addTitle("Menu.Panel.Stock.Forms");
|
||||
|
||||
submenu.addPanel("/com/unicenta/images/category.png", "Menu.Categories", "com.unicenta.pos.inventory.CategoriesPanel");
|
||||
submenu.addPanel("/com/unicenta/images/products.png", "Menu.Products", "com.unicenta.pos.inventory.ProductsPanel");
|
||||
submenu.addPanel("/com/unicenta/images/location.png", "Menu.ProductsWarehouse", "com.unicenta.pos.inventory.ProductsWarehousePanel");
|
||||
submenu.addPanel("/com/unicenta/images/stockmaint.png", "Menu.StockMovement", "com.unicenta.pos.inventory.StockManagement");
|
||||
submenu.addPanel("/com/unicenta/images/auxiliary.png", "Menu.Auxiliar", "com.unicenta.pos.inventory.AuxiliarPanel");
|
||||
submenu.addPanel("/com/unicenta/images/bundle.png", "Menu.Bundle", "com.unicenta.pos.inventory.BundlePanel");
|
||||
submenu.addPanel("/com/unicenta/images/attributes.png", "Menu.Attributes", "com.unicenta.pos.inventory.AttributesPanel");
|
||||
submenu.addPanel("/com/unicenta/images/attributes.png", "Menu.AttributeValues", "com.unicenta.pos.inventory.AttributeValuesPanel");
|
||||
submenu.addPanel("/com/unicenta/images/attributes.png", "Menu.AttributeSets", "com.unicenta.pos.inventory.AttributeSetsPanel");
|
||||
submenu.addPanel("/com/unicenta/images/attributes.png", "Menu.AttributeUse", "com.unicenta.pos.inventory.AttributeUsePanel");
|
||||
submenu.addPanel("/com/unicenta/images/products.png", "Menu.Uom", "com.unicenta.pos.inventory.UomPanel");
|
||||
|
||||
submenu.addTitle("Menu.Panel.Stock.Reports");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Inventory", "/com/unicenta/reports/inventory.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Inventory2", "/com/unicenta/reports/inventory_b.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Inventory.Reports.Diary", "/com/unicenta/reports/inventory_diary.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.InventoryBroken", "/com/unicenta/reports/inventory_broken.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.InventoryDiff", "/com/unicenta/reports/inventory_diff.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.InventoryDiffDetail", "/com/unicenta/reports/inventory_diffdetail.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.InventoryListDetail", "/com/unicenta/reports/inventory_listdetail.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Products", "/com/unicenta/reports/products.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.SaleCatalog", "/com/unicenta/reports/salecatalog.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.ProductLabels", "/com/unicenta/reports/labels_product.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.BarcodeSheet", "/com/unicenta/reports/labels_barcode_sheet.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.ShelfEdgeLabels", "/com/unicenta/reports/labels_barcode_shelfedge.bs");
|
||||
|
||||
|
||||
submenu = group.addSubmenu("/com/unicenta/images/sales.png", "Menu.SalesManagement", "com.unicenta.pos.forms.MenuSalesManagement");
|
||||
submenu.addTitle("Menu.Panel.Sales.Reports");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Closing", "/com/unicenta/reports/sales_closedpos.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Closing1", "/com/unicenta/reports/sales_closedpos_1.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.CashRegisterLog", "/com/unicenta/reports/sales_cashregisterlog.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.ExtendedCashRegisterLog", "/com/unicenta/reports/sales_extendedcashregisterlog.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.CashFlow", "/com/unicenta/reports/sales_cashflow.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.PaymentReport", "/com/unicenta/reports/sales_payments.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.CategorySales", "/com/unicenta/reports/sales_categorysales.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.CategorySales1", "/com/unicenta/reports/sales_categorysales_1.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.ClosedProducts", "/com/unicenta/reports/sales_closedproducts.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.ClosedProducts1", "/com/unicenta/reports/sales_closedproducts_1.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.ExtendedByProducts", "/com/unicenta/reports/sales_extproducts.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.SalesProfit", "/com/unicenta/reports/sales_productsalesprofit.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.SaleTaxes", "/com/unicenta/reports/sales_saletaxes.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.TaxCatSales", "/com/unicenta/reports/sales_taxcatsales.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.ReportTaxes", "/com/unicenta/reports/sales_taxes.bs");
|
||||
submenu.addTitle("Menu.Panel.Sales.Charts");
|
||||
submenu.addPanel("/com/unicenta/images/chart.png", "Menu.ProductSales", "/com/unicenta/reports/sales_chart_productsales.bs");
|
||||
submenu.addPanel("/com/unicenta/images/chart.png", "Menu.ProductCategorySalesPieChart", "/com/unicenta/reports/sales_chart_piesalescat.bs");
|
||||
submenu.addPanel("/com/unicenta/images/chart.png", "Menu.SalesChart", "/com/unicenta/reports/sales_chart_sales.bs");
|
||||
submenu.addPanel("/com/unicenta/images/chart.png", "Menu.TimeSeriesProduct", "/com/unicenta/reports/sales_chart_timeseriesproduct.bs");
|
||||
submenu.addPanel("/com/unicenta/images/chart.png", "Menu.Top10Sales", "/com/unicenta/reports/sales_chart_top10.bs");
|
||||
|
||||
|
||||
submenu = group.addSubmenu("/com/unicenta/images/maintain.png", "Menu.Maintenance", "com.unicenta.pos.forms.MenuMaintenance");
|
||||
submenu.addTitle("Menu.Panel.Maintenance.Forms");
|
||||
submenu.addPanel("/com/unicenta/images/resources.png", "Menu.Resources", "com.unicenta.pos.admin.ResourcesPanel");
|
||||
submenu.addPanel("/com/unicenta/images/roles.png", "Menu.Roles", "com.unicenta.pos.admin.RolesPanel");
|
||||
submenu.addPanel("/com/unicenta/images/user.png", "Menu.Users", "com.unicenta.pos.admin.PeoplePanel");
|
||||
submenu.addPanel("/com/unicenta/images/bookmark.png", "Menu.TaxCategories", "com.unicenta.pos.inventory.TaxCategoriesPanel");
|
||||
submenu.addPanel("/com/unicenta/images/bookmark.png", "Menu.TaxCustCategories", "com.unicenta.pos.inventory.TaxCustCategoriesPanel");
|
||||
submenu.addPanel("/com/unicenta/images/bookmark.png", "Menu.Taxes", "com.unicenta.pos.inventory.TaxPanel");
|
||||
submenu.addPanel("/com/unicenta/images/location.png", "Menu.Locations", "com.unicenta.pos.inventory.LocationsPanel");
|
||||
submenu.addPanel("/com/unicenta/images/floors.png", "Menu.Floors", "com.unicenta.pos.mant.JPanelFloors");
|
||||
submenu.addPanel("/com/unicenta/images/tables.png", "Menu.Tables", "com.unicenta.pos.mant.JPanelPlaces");
|
||||
submenu.addPanel("/com/unicenta/images/products.png", "Menu.Vouchers", "com.unicenta.pos.voucher.VoucherPanel");
|
||||
|
||||
submenu.addTitle("Menu.Panel.Maintenance.Reports");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.UsersReport", "/com/unicenta/reports/users.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.UserSells", "/com/unicenta/reports/users_sales.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.UserNoSales", "/com/unicenta/reports/users_nosales.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.UserVoids", "/com/unicenta/reports/users_voids.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Customers.Reports.Vouchers", "/com/unicenta/reports/customers_vouchers.bs");
|
||||
|
||||
// EPM
|
||||
submenu = group.addSubmenu("/com/unicenta/images/users.png", "Menu.PresenceManagement", "com.unicenta.pos.forms.MenuEmployees");
|
||||
submenu.addTitle("Menu.PresenceManagement");
|
||||
submenu.addPanel("/com/unicenta/images/coffee.png", "Menu.Breaks", "com.unicenta.pos.epm.BreaksPanel");
|
||||
submenu.addPanel("/com/unicenta/images/leaves.png", "Menu.Leaves", "com.unicenta.pos.epm.LeavesPanel");
|
||||
submenu.addTitle("Menu.Employees.Reports");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.EPM.DailyPresenceReport", "/com/unicenta/reports/epm_dailypresence.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.EPM.DailyScheduleReport", "/com/unicenta/reports/epm_dailyschedule.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.EPM.PerformanceReport", "/com/unicenta/reports/epm_performance.bs");
|
||||
|
||||
|
||||
group = menu.addGroup("Menu.Utilities");
|
||||
submenu = group.addSubmenu("/com/unicenta/images/utilities.png", "Menu.Tools", "com.unicenta.pos.imports.JPanelCSV");
|
||||
submenu.addTitle("Menu.Import");
|
||||
submenu.addPanel("/com/unicenta/images/import.png", "Menu.CSVImport", "com.unicenta.pos.imports.JPanelCSVImport");
|
||||
submenu.addPanel("/com/unicenta/images/import.png", "Menu.CSVStockQty", "com.unicenta.pos.imports.StockQtyImport");
|
||||
submenu.addPanel("/com/unicenta/images/import.png", "Menu.CustomerCSVImport", "com.unicenta.pos.imports.CustomerCSVImport");
|
||||
submenu.addPanel("/com/unicenta/images/database.png", "Menu.CSVReset", "com.unicenta.pos.imports.JPanelCSVCleardb");
|
||||
submenu.addPanel("/com/unicenta/images/database.png", "Menu.Transfer", "com.unicenta.pos.transfer.Transfer");
|
||||
submenu.addTitle("Menu.Import.Reports");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Tools.NewProducts", "/com/unicenta/reports/tools_newproducts.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Tools.UpdatedPrices", "/com/unicenta/reports/tools_updatedprices.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Tools.StockQtyUpdate", "/com/unicenta/reports/tools_inventoryqtyupdate.bs");
|
||||
// submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Tools.BadPrices", "/com/unicenta/reports/tools_badprice.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Tools.InvalidCategory", "/com/unicenta/reports/tools_invalidcategory.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Tools.MissingData", "/com/unicenta/reports/tools_missingdata.bs");
|
||||
submenu.addPanel("/com/unicenta/images/reports.png", "Menu.Tools.InvalidData", "/com/unicenta/reports/tools_invaliddata.bs");
|
||||
|
||||
group = menu.addGroup("Menu.System");
|
||||
group.addChangePasswordAction();
|
||||
group.addPanel("/com/unicenta/images/configuration.png", "Menu.Configuration", "com.unicenta.pos.config.JPanelConfiguration");
|
||||
group.addPanel("/com/unicenta/images/printer.png", "Menu.Printer", "com.unicenta.pos.panels.JPanelPrinter");
|
||||
group.addPanel("/com/unicenta/images/timer.png", "Menu.CheckInCheckOut", "com.unicenta.pos.epm.JPanelEmployeePresence");
|
||||
|
||||
// Deprecated options. Only required with Openbravo ERP software
|
||||
// submenu.addTitle("Menu.Maintenance.ERP");
|
||||
// submenu.addExecution("/com/unicenta/images/openbravo.png", "Menu.ERPProducts", "com.unicenta.possync.ProductsSyncCreate");
|
||||
// submenu.addExecution("/com/unicenta/images/openbravo.png", "Menu.ERPOrders", "com.unicenta.possync.OrdersSyncCreate");
|
||||
|
||||
group.addExitAction();
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
This file is part of uniCenta oPOS.
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="center" bold="true" length="42">Close Cash Preview</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line><text length="18" bold="true">Printed:</text><text>${payments.printDate()}</text></line>
|
||||
<line><text length="18" bold="true">Printed by:</text><text>${payments.printUser()}</text></line>
|
||||
<line><text length="18" bold="true">Terminal:</text><text>${payments.printHost()}</text></line>
|
||||
<line><text length="18" bold="true">Sequence:</text><text>${payments.printSequence()}</text></line>
|
||||
<line><text length="18" bold="true">Last Close Date:</text><text>${payments.printDateStart()}</text></line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="32">Payments Report</text>
|
||||
<text align ="right" bold="true" length="10">Amount</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getPaymentLines())
|
||||
<line>
|
||||
<text align ="left" length="32">${line.printType()} ${line.printReason()}</text>
|
||||
<text align ="right" length="10">${line.printValue()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line>
|
||||
<text align ="left" length="32" bold="true">Total Sales</text>
|
||||
<text align ="right" length="10" bold="true">${payments.printPaymentsTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Number of Payments:</text>
|
||||
<text align ="right" length="10">${payments.printPayments()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="32">Tax Analysis</text>
|
||||
<text align ="right" bold="true" length="10">Amount</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getSaleLines())
|
||||
<line>
|
||||
<text align ="left" length="32">${line.printTaxName()}</text>
|
||||
<text align ="right" length="10">${line.printTaxes()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<!-- START OF VOIDS -->
|
||||
<line size="1"><text align="center" length="42" bold="true">Line Voids</text></line>
|
||||
<line>
|
||||
<text align ="left" length="6" bold="true">Tkt</text>
|
||||
<text align ="left" length="12" bold="true">User</text>
|
||||
<text align ="left" length="19" bold="true">Product</text>
|
||||
<text align ="right" length="5" bold="true">Total</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getRemovedProductLines())
|
||||
<line>
|
||||
<text align ="left" length="6">${line.printTicketId()}</text>
|
||||
<text align ="left" length="11">${line.printWorkerName()}</text>
|
||||
<text align ="left" length="1"></text>
|
||||
<text align ="left" length="19">${line.printProductName()}</text>
|
||||
<text align ="right" length="5">${line.printTotalUnits()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<!-- END OF VOIDS -->
|
||||
|
||||
<!-- START OF NO SALES -->
|
||||
<line size="1"><text align="center" length="42" bold="true">No Sales</text></line>
|
||||
<line>
|
||||
<text align ="left" length="34" bold="true">User</text>
|
||||
<text align ="right" length="8" bold="true">Ticket</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getDrawerOpenedLines())
|
||||
<line>
|
||||
<text align ="left" length="34">${line.printUserName()}</text>
|
||||
<text align ="right" length="8">${line.printTicketId()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<!-- END OF NO SALES -->
|
||||
|
||||
<line>
|
||||
<text align ="left" length="32">Receipts:</text>
|
||||
<text align ="right" length="10">${payments.printSales()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="32" bold="true">SubTotal</text>
|
||||
<text align ="right" length="10" bold="true">${payments.printSalesBase()}</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text align ="left" length="32" bold="true">Taxes</text>
|
||||
<text align ="right" length="10" bold="true">${payments.printSalesTaxes()}</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text align ="left" length="32" bold="true">Totals</text>
|
||||
<text align ="right" length="10" bold="true">${payments.printSalesTotal()}</text>
|
||||
</line>
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
This file is part of uniCenta oPOS.
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="center" bold="true" length="42">Close Cash Report</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="30">Payments Report</text>
|
||||
<text align ="right" bold="true" length="12">Amount</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getPaymentLines())
|
||||
<line>
|
||||
<text align ="left" length="30">${line.printType()} ${line.printReason()}</text>
|
||||
<text align ="right" length="12">${line.printValue()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line>
|
||||
<text align ="left" length="30" bold="true">Total Sales</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printPaymentsTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="30">Number of Payments:</text>
|
||||
<text align ="right" length="12">${payments.printPayments()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="30">Tax Analysis</text>
|
||||
<text align ="right" bold="true" length="12">Amount</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getSaleLines())
|
||||
<line>
|
||||
<text align ="left" length="30">${line.printTaxName()}</text>
|
||||
<text align ="right" length="12">${line.printTaxes()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<!-- START OF VOIDS -->
|
||||
<line size="1"><text align="center" length="42" bold="true">Line Voids</text></line>
|
||||
<line>
|
||||
<text align ="left" length="6" bold="true">Tkt</text>
|
||||
<text align ="left" length="12" bold="true">User</text>
|
||||
<text align ="left" length="19" bold="true">Product</text>
|
||||
<text align ="right" length="5" bold="true">Total</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getRemovedProductLines())
|
||||
<line>
|
||||
<text align ="left" length="6">${line.printTicketId()}</text>
|
||||
<text align ="left" length="11">${line.printWorkerName()}</text>
|
||||
<text align ="left" length="1"></text>
|
||||
<text align ="left" length="19">${line.printProductName()}</text>
|
||||
<text align ="right" length="5">${line.printTotalUnits()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<!-- END OF VOIDS -->
|
||||
|
||||
<!-- START OF NO SALES -->
|
||||
<line size="1"><text align="center" length="42" bold="true">No Sales</text></line>
|
||||
<line>
|
||||
<text align ="left" length="34" bold="true">User</text>
|
||||
<text align ="right" length="8" bold="true">Ticket</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getDrawerOpenedLines())
|
||||
<line>
|
||||
<text align ="left" length="34">${line.printUserName()}</text>
|
||||
<text align ="right" length="8">${line.printTicketId()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<!-- END OF NO SALES -->
|
||||
|
||||
<line>
|
||||
<text align ="left" length="3">Receipts:</text>
|
||||
<text align ="right" length="12">${payments.printSales()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="30" bold="true">SubTotal</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printSalesBase()}</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text align ="left" length="30" bold="true">Taxes</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printSalesTaxes()}</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text align ="left" length="30" bold="true">Totals</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printSalesTotal()}</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line><text length="18" bold="true">Closed by:</text><text>${payments.printUser()}</text></line>
|
||||
<line><text length="18" bold="true">Terminal:</text><text>${payments.printHost()}</text></line>
|
||||
<line><text length="18" bold="true">Sequence:</text><text>${payments.printSequence()}</text></line>
|
||||
<line><text length="18" bold="true">Start Date:</text><text>${payments.printDateStart()}</text></line>
|
||||
<line><text length="18" bold="true">End Date:</text><text>${payments.printDateEnd()}</text></line>
|
||||
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty or
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS.
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Total paid</text>
|
||||
<text align="right" length="10">${ticket.printTotalPaid()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank You for your custom</text>
|
||||
</line>
|
||||
</display>
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align="center" length="42">Printer.CustomerPaid</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="42">You can change this template</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="42">in the Resources panel</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align="left" length="15">Receipt:</text>
|
||||
<text>${ticket.printId()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Date:</text>
|
||||
<text>${ticket.printDate()}</text>
|
||||
</line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line>
|
||||
<text align="left" length="15">Account:</text>
|
||||
<text>${ticket.getCustomer().printTaxid()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Customer:</text>
|
||||
<text>${ticket.getCustomer().printName()}</text>
|
||||
</line>
|
||||
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="32" bold="true">Total Paid</text>
|
||||
<text align ="right" length="10" bold="true">${ticket.printTotalPaid()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" length="32" bold="true">Account Balance</text>
|
||||
<text align ="right" length="10" bold="true">${customer.printCurDebt()}</text>
|
||||
</line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Cash</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="22">Tendered:</text>
|
||||
<text align ="right" length="20">${paymentline.printPaid()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="22">Change:</text>
|
||||
<text align ="right" length="20">${paymentline.printChange()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "ccard")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Mag card</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Number:</text>
|
||||
<text>${paymentline.printCardNumber()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Expiry Date:</text>
|
||||
<text>${paymentline.printExpirationDate()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Operation:</text>
|
||||
<text>${paymentline.printTransactionID()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Authorization:</text>
|
||||
<text>${paymentline.printAuthorization()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Cheque</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Voucher</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#end
|
||||
<line></line>
|
||||
<line>
|
||||
<text align="left" length="15">Cashier:</text>
|
||||
<text>${ticket.printUser()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align="center" length="42">Thank You for your custom</text>
|
||||
</line>
|
||||
</ticket>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end
|
||||
</output>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Total Paid</text>
|
||||
<text align="right" length="10">${ticket.printTotalPaid()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank You for your custom</text>
|
||||
</line>
|
||||
</display>
|
||||
</output>
|
||||
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<fiscalreceipt>
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<!-- setting $vatinfo to the values contained in the fiscal printer vat table-->
|
||||
#if (${ticketline.getTaxInfo().getRate()}==0.04)
|
||||
#set ($vatinfo ="1")
|
||||
#elseif (${ticketline.getTaxInfo().getRate()}==0.1)
|
||||
#set ($vatinfo ="2")
|
||||
#elseif (${ticketline.getTaxInfo().getRate()}==0.2)
|
||||
#set ($vatinfo ="3")
|
||||
#else #set ($vatinfo ="1")
|
||||
#end
|
||||
#if ($ticketline.isProductCom())
|
||||
<line price="${ticketline.getValue()}" units="${ticketline.getMultiply()}" tax="${vatinfo}">*${ticketline.printName()}</line>
|
||||
#else
|
||||
<line price="${ticketline.getValue()}" units="${ticketline.getMultiply()}" tax="${vatinfo}">${ticketline.printName()}</line>
|
||||
#end
|
||||
#end
|
||||
<message>Items count: ${ticket.printArticlesCount()}</message>
|
||||
#foreach ($paymentline in $ticket.payment)
|
||||
#if ($paymentline.name == "cash")
|
||||
<total paid="${paymentline.getPaid()}">Cash</total>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<total paid="${paymentline.getTotal()}">Refund</total>
|
||||
#end
|
||||
#if ($paymentline.name == "ccard")
|
||||
<total paid="${paymentline.getTotal()}">Mag card</total>
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<total paid="${paymentline.getTotal()}">Mag card refund</total>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<total paid="${paymentline.getTotal()}">Cheque</total>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<total paid="${paymentline.getTotal()}">Cheque refund</total>
|
||||
#end
|
||||
#end
|
||||
</fiscalreceipt>
|
||||
<!-- Other commands -->
|
||||
<!--
|
||||
<fiscalzreport/>
|
||||
<fiscalxreport/>
|
||||
-->
|
||||
</output>
|
||||
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
https://unicenta.com
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
<line><text align="center" length="42">You can change Printer.Inventory template</text></line>
|
||||
<line><text align="center" length="42">in the Resources panel</text></line>
|
||||
<line></line>
|
||||
<line><text align="center" bold="true" length="42">Inventory Record</text></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="12">Date : </text>
|
||||
<text align ="left" length="30">${inventoryrecord.printDate()}</text></line>
|
||||
<line><text align ="left" bold="true" length="12">Reason : </text>
|
||||
<text align ="left" length="30">${inventoryrecord.printReason()}</text></line>
|
||||
<line><text align ="left" bold="true" length="12">User : </text>
|
||||
<text align ="left" length="30">${inventoryrecord.printUser()}</text></line>
|
||||
<line><text align ="left" bold="true" length="12">Location : </text>
|
||||
<text align ="left" length="30">${inventoryrecord.printLocation()}</text></line>
|
||||
<line><text align ="left" bold="true" length="12">Supplier : </text>
|
||||
<text align ="left" length="30">${inventoryrecord.printSupplier()}</text></line>
|
||||
<line><text align ="left" bold="true" length="12">Document : </text>
|
||||
<text align ="left" length="30">${inventoryrecord.printSupplierDoc()}</text></line>
|
||||
|
||||
<line size="1">
|
||||
#if ($inventoryrecord.isInput())
|
||||
<text align ="center" bold="true" length="42">In</text>
|
||||
#else
|
||||
<text align ="center" bold="true" length="42">Out</text>
|
||||
#end
|
||||
</line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="17">Item</text>
|
||||
<text align ="right" bold="true" length="10">Price</text>
|
||||
<text align ="right" bold="true" length="5">Qty</text>
|
||||
<text align ="right" bold="true" length="10">Value</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>------------------------------------------</text>
|
||||
</line>
|
||||
#foreach ($inventoryline in $inventoryrecord.getLines())
|
||||
<line>
|
||||
<text align ="left" length="17">${inventoryline.printName()}</text>
|
||||
<text align ="right" length="10">${inventoryline.printPrice()}</text>
|
||||
<text align ="right" length="5">x${inventoryline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${inventoryline.printSubValue()}</text>
|
||||
</line>
|
||||
#if ($inventoryline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${inventoryline.productAttSetInstDesc}</text></line>
|
||||
#end
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="27">Totals :</text>
|
||||
<text align ="right" bold="true" length="5">${inventoryrecord.printTotalArticles()}</text>
|
||||
<text align ="right" bold="true" length="10">${inventoryrecord.printSubTotal()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line><text align="center" length="42">Please keep this ticket</text></line>
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS.
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<output>
|
||||
|
||||
<opendrawer/>
|
||||
|
||||
</output>
|
||||
@@ -0,0 +1,201 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="center" length="42" bold="true">Partial Cash Report</text></line>
|
||||
<line></line>
|
||||
|
||||
<!-- START OF SEQUENCE DETAIL -->
|
||||
<line><text length="18" bold="true">Run by:</text><text>${payments.printUser()}</text></line>
|
||||
<line><text length="18" bold="true">Terminal:</text><text>${payments.printHost()}</text></line>
|
||||
<line><text length="18" bold="true">Sequence:</text><text>${payments.printSequence()}</text></line>
|
||||
<line><text length="18" bold="true">Start Date:</text><text>${payments.printDateStart()}</text></line>
|
||||
<line><text length="18" bold="true">End Date:</text><text>${payments.printDateEnd()}</text></line>
|
||||
<line></line>
|
||||
<!-- END OF SEQUENCE DETAIL -->
|
||||
|
||||
<!-- START OF SALES -->
|
||||
<line size="1"><text align="center" length="42" bold="true">Sales</text></line>
|
||||
<line>
|
||||
<text align ="left" length="16" bold="true">Name</text>
|
||||
<text align ="right" length="6" bold="true">Sold</text>
|
||||
<text align ="right" length="10" bold="true">Net</text>
|
||||
<text align ="right" length="10" bold="true">Total</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getProductSalesLines())
|
||||
<line>
|
||||
<text align ="left" length="16">${line.printProductName()}</text>
|
||||
<text align ="right" length="6">${line.printProductUnits()}</text>
|
||||
<text align ="right" length="10">${line.printProductPriceNet()}</text>
|
||||
<text align ="right" length="10">${line.printProductSubValue()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line>
|
||||
<text align ="left" length="16" bold="true">Total</text>
|
||||
<text align ="right" length="6" bold="true">${payments.printProductSalesTotalUnits()}</text>
|
||||
<text align ="right" length="10" bold="true">${payments.printSalesBase()}</text>
|
||||
<text align ="right" length="10" bold="true">${payments.printProductSalesTotal()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<!-- END OF SALES SUMMARY -->
|
||||
|
||||
<!-- START OF CATEGORIES SUMMARY -->
|
||||
<line size="1"><text align="center" length="42" bold="true">Product Categories</text></line>
|
||||
<line>
|
||||
<text align ="left" length="16" bold="true">Name</text>
|
||||
<text align ="right" length="6" bold="true">Sold</text>
|
||||
<text align ="right" length="10" bold="true"></text>
|
||||
<text align ="right" length="10" bold="true">Total</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getCategorySalesLines())
|
||||
<line>
|
||||
<text align ="left" length="16">${line.printCategoryName()}</text>
|
||||
<text align ="right" length="6">${line.printCategoryUnits()}</text>
|
||||
<text align ="right" length="10"></text>
|
||||
<text align ="right" length="10">${line.printCategorySum()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line><text align ="left" length="16" bold="true">Total</text>
|
||||
<text align ="right" length="6" bold="true">${payments.printCategorySalesTotalUnits()}</text>
|
||||
<text align ="right" length="10" bold="true"></text>
|
||||
<text align ="right" length="10" bold="true">${payments.printCategorySalesTotal()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<!-- END OF CATEGORIES SUMMARY -->
|
||||
|
||||
<!-- START OF VOIDS -->
|
||||
<line size="1"><text align="center" length="42" bold="true">Line Voids</text></line>
|
||||
<line>
|
||||
<text align ="left" length="6" bold="true">Tkt</text>
|
||||
<text align ="left" length="12" bold="true">User</text>
|
||||
<text align ="left" length="19" bold="true">Product</text>
|
||||
<text align ="right" length="5" bold="true">Total</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getRemovedProductLines())
|
||||
<line>
|
||||
<text align ="left" length="6">${line.printTicketId()}</text>
|
||||
<text align ="left" length="11">${line.printWorkerName()}</text>
|
||||
<text align ="left" length="1"></text>
|
||||
<text align ="left" length="19">${line.printProductName()}</text>
|
||||
<text align ="right" length="5">${line.printTotalUnits()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<!-- END OF VOIDS -->
|
||||
|
||||
<!-- START OF NO SALES -->
|
||||
<line size="1"><text align="center" length="42" bold="true">No Sales</text></line>
|
||||
<line>
|
||||
<text align ="left" length="34" bold="true">User</text>
|
||||
<text align ="right" length="8" bold="true">Ticket</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getDrawerOpenedLines())
|
||||
<line>
|
||||
<text align ="left" length="34">${line.printUserName()}</text>
|
||||
<text align ="right" length="8">${line.printTicketId()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<!-- END OF NO SALES -->
|
||||
|
||||
<!-- START OF TAXES ANALYSIS -->
|
||||
<line size="1"><text align="center" length="42" bold="true">Taxes</text></line>
|
||||
<line>
|
||||
<text align ="left" length="12" bold="true">Name</text>
|
||||
<text align ="right" length="10" bold="true">Net</text>
|
||||
<text align ="right" length="10" bold="true">Gross</text>
|
||||
<text align ="right" length="10" bold="true">Total</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getSaleLines())
|
||||
<line>
|
||||
<text align ="left" length="12">${line.printTaxName()}</text>
|
||||
<text align ="right" length="10">${line.printTaxNet()}</text>
|
||||
<text align ="right" length="10">${line.printTaxGross()}</text>
|
||||
<text align ="right" length="10">${line.printTaxes()}</text>
|
||||
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line></line>
|
||||
<!-- END OF TAXES ANALYSIS -->
|
||||
|
||||
<!-- START OF PAYMENTS -->
|
||||
<line size="1"><text align="center" length="42" bold="true">Payments</text></line>
|
||||
<line>
|
||||
<text align ="left" length="32" bold="true">Type</text>
|
||||
<text align ="right" length="10" bold="true">Total</text>
|
||||
</line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
#foreach ($line in $payments.getPaymentLines())
|
||||
<line>
|
||||
<text align ="left" length="22">${line.printType()}</text>
|
||||
<text align ="right" length="10">${line.printReason()}</text>
|
||||
<text align ="right" length="10">${line.printValue()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line><text>------------------------------------------</text></line>
|
||||
<line>
|
||||
<text align ="left" length="30" bold="true">Total</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printPaymentsTotal()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<!-- END OF PAYMENTS RECEIVED -->
|
||||
|
||||
<!-- START OF TOTALS SUMMARY -->
|
||||
<line><text>******************************************</text></line>
|
||||
<line size="1"><text align="center" length="42" bold="true">SUMMARY</text></line>
|
||||
<line><text>******************************************</text></line>
|
||||
<line><text align ="left" length="30" bold="true">Tickets</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printSales()}</text>
|
||||
</line>
|
||||
<line><text align ="left" length="30" bold="true">Ticket Lines</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printProductSalesRows()}</text>
|
||||
</line>
|
||||
<line><text align ="left" length="30" bold="true">Payments</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printPayments()}</text>
|
||||
</line>
|
||||
<line><text align ="left" length="30" bold="true">Net Sales</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printSalesBase()}</text>
|
||||
</line>
|
||||
<line><text align ="left" length="30" bold="true">Tax</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printSalesTaxes()}</text>
|
||||
</line>
|
||||
<line><text align ="left" length="30" bold="true">Gross Sales</text>
|
||||
<text align ="right" length="12" bold="true">${payments.printSalesTotal()}</text>
|
||||
</line>
|
||||
<!-- END OF TOTALS SUMMARY -->
|
||||
|
||||
</ticket>
|
||||
|
||||
</output>
|
||||
@@ -0,0 +1,405 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
|
||||
<display>
|
||||
<line><text align="left" length="8">Total</text><text align="right" length="12">${ticket.printTotal()}</text></line>
|
||||
<line><text align="center" length="20">Thank you</text></line>
|
||||
</display>
|
||||
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line>
|
||||
</line>
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine1()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine2()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine2()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine3()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine3()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine4()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine4()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine5()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine6()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine6()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<line>
|
||||
<text align="center" length="42">Printer.PrintLastTicket</text>
|
||||
</line>
|
||||
<line></line>
|
||||
#if (${ticket.ticketType} == 0)
|
||||
<line>
|
||||
<text align="left" length="15">Receipt:</text>
|
||||
<text>${ticket.printId()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.ticketType} == 1)
|
||||
<line>
|
||||
<text align="left" length="15">Refund:</text>
|
||||
<text>${ticket.printId()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<line>
|
||||
<text align="left" length="15">Date:</text>
|
||||
<text>${ticket.printDate()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Terminal: </text>
|
||||
<text>${ticket.getHost()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Served by:</text>
|
||||
<text>${ticket.printUser()}</text>
|
||||
</line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line>
|
||||
<text align="left" length="15">Account #:</text>
|
||||
<text>${ticket.getCustomer().printTaxCustomerID()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Customer:</text>
|
||||
<text>${ticket.getCustomer().printName()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Address:</text>
|
||||
<text>${ticket.getCustomer().printAddress()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Postal:</text>
|
||||
<text>${ticket.getCustomer().printPostal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Phone:</text>
|
||||
<text>${ticket.getCustomer().printPhone()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Current Debt:</text>
|
||||
<text>${ticket.getCustomer().printCurDebt()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line>
|
||||
<text align="left" length="15">Table:</text>
|
||||
<text>${place}</text>
|
||||
</line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
<line>
|
||||
<text align ="left" length="17">Item</text>
|
||||
<text align ="right" length="8">Price</text>
|
||||
<text align ="right" length="7">Qty</text>
|
||||
<text align ="right" length="10">Value</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="42">------------------------------------------</text>
|
||||
</line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<line>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="17">*${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="17">${ticketline.printName()}</text>
|
||||
#end
|
||||
<!-- Print line to show Prices pre-Tax
|
||||
<text align ="right" length="8">${ticketline.printPrice()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="8">${ticketline.printSubValue()}</text>
|
||||
</line>
|
||||
-->
|
||||
|
||||
<!-- Print line to show Prices inc. Tax -->
|
||||
<text align ="right" length="8">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${ticketline.printValue()}</text>
|
||||
</line>
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's barcode -->
|
||||
<!-- <line><text align ="left" length="12">Barcode : </text>${ticketline.printCode()}</text></line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's Reference -->
|
||||
<!-- <line><text align ="left" length="12">Reference : </text>${ticketline.printReference()}</text></line> -->
|
||||
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line>
|
||||
<text align ="left" length="42">${ticketline.productAttSetInstDesc}</text>
|
||||
</line>
|
||||
#end
|
||||
#end
|
||||
|
||||
<line><text align="left" length="42">------------------------------------------</text></line>
|
||||
<line><text>Items count: </text><text align ="left" length="14">${ticket.printArticlesCount()}</text></line>
|
||||
<line></line>
|
||||
<line><text align ="left" bold="true" length="16">Subtotal</text><text align ="right" length="26">${ticket.printSubTotal()}</text></line>
|
||||
<line><text align ="left" length="16">Tax</text><text align ="right" length="26">${ticket.printTax()}</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="16" bold="true">Balance Due</text><text align ="right" length="26" bold="true">${ticket.printTotal()}</text></line>
|
||||
<line></line>
|
||||
|
||||
#foreach ($taxinfo in $taxes)
|
||||
<!-- #set( $taxline = $ticket.getTaxLine($taxinfo)) -->
|
||||
<line>
|
||||
<text align ="left" length="18">${taxline.getTaxInfo()}</text>
|
||||
<text align ="right" length="12">${taxline.printSubTotal()}</text>
|
||||
<text align ="right" length="12">${taxline.printTax()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<line><text bold="true">Cash</text></line>
|
||||
<line>
|
||||
<text align="left" length="22">Tendered:</text>
|
||||
<text align ="right" length="20">${paymentline.printPaid()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="22">Change:</text>
|
||||
<text align ="right" length="20">${paymentline.printChange()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Refund</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Cheque</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Cheque Refund</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Voucher</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherout")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Note Refund</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "slip")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Slip</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "free")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Free</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "debt")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">On Account</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#end
|
||||
|
||||
#if (${ticket.printTicketFooterLine1()} != "")
|
||||
<line></line>
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketFooterLine1()}</text>
|
||||
</line>
|
||||
<line><text>==========================================</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine2()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine3()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine4()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine5()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine6()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine6()}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "ccard")
|
||||
#if ($paymentline.chipAndPin)
|
||||
<line size="1">
|
||||
<text align="center" length="42" bold="true">CARD SALE</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text>${paymentline.getCardName()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>${paymentline.printCardNumber()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align="left" length="10">AMOUNT</text>
|
||||
<text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
<line>
|
||||
<text>Tranx ID : </text>
|
||||
<text>${paymentline.printTransactionID()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>Auth Code : </text>
|
||||
<text>${paymentline.printAuthorization()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>Verified By : </text>
|
||||
<text>${paymentline.printVerification()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (!$paymentline.chipAndPin)
|
||||
<line size="1">
|
||||
<text align="center" length="42" bold="true">CARD SALE</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text>${paymentline.getCardName()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>${paymentline.printCardNumber()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align="left" length="10">AMOUNT</text>
|
||||
<text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
<text align ="left" length="22">Expiration Date:</text>
|
||||
<text>${paymentline.printExpirationDate()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>Operation : </text>
|
||||
<text>${paymentline.printTransactionID()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>Auth Code : </text>
|
||||
<text>${paymentline.printAuthorization()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
#end
|
||||
#if ($ticket.hasTip())
|
||||
<line>
|
||||
<text align ="left" length="16">Tip:</text>
|
||||
<text align ="right" length="26">_______________</text></line>
|
||||
<line></line>
|
||||
|
||||
<line size="1">
|
||||
<text align ="left" length="16" bold="false">Total</text>
|
||||
<text align ="right" length="26" bold="false">_______________</text></line>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="42" bold="false">__________________________________________</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text align ="center" length="42" bold="false">Signature</text>
|
||||
</line>
|
||||
#else
|
||||
<line size="1">
|
||||
<text align ="left" length="16" bold="true">Total</text>
|
||||
<text align ="right" length="26" bold="true">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<line size="1">
|
||||
<text align="center" length="42" bold="true">CARD REFUND</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text>${paymentline.getCardName()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>${paymentline.printCardNumber()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align="left" length="10">AMOUNT</text>
|
||||
<text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
<line>
|
||||
<text align ="left" length="22">Expiration Date:</text>
|
||||
<text>${paymentline.printExpirationDate()}</text></line>
|
||||
<line>
|
||||
<text>Tranx ID : </text>
|
||||
<text>${paymentline.printTransactionID()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>Auth Code : </text>
|
||||
<text>${paymentline.printAuthorization()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
</ticket>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end
|
||||
|
||||
</output>
|
||||
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line>
|
||||
<text align="center" length="42">N.I.F. 00.000.000 X</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text align ="center" length="42" bold="true">${product.printName()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="3">
|
||||
<text>Eur.</text>
|
||||
<text align ="right" length="6">${product.printPriceEur()}</text>
|
||||
</line>
|
||||
<line size="2">
|
||||
<text>Pts.</text>
|
||||
<text align ="right" length="6">${product.printPricePts()}</text>
|
||||
</line>
|
||||
<barcode type="EAN13">${product.printCode()}</barcode>
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,303 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
|
||||
<display>
|
||||
<line><text align="left" length="8">Total</text><text align="right" length="12">${ticket.printTotal()}</text></line>
|
||||
<line><text align="center" length="20">Thank you</text></line>
|
||||
</display>
|
||||
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine1()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine2()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine3()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine4()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine6()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine6()}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="center" length="42">Printer.ReprintTicket</text></line>
|
||||
<line></line>
|
||||
#if (${ticket.ticketType} == 0)
|
||||
<line><text align="left" length="15">Receipt:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
#if (${ticket.ticketType} == 1)
|
||||
<line><text align="left" length="15">Refund:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Terminal: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Served by:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().printTaxCustomerID()}</text></line>
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().printName()}</text></line>
|
||||
<line><text align="left" length="15">Address:</text><text>${ticket.getCustomer().printAddress()}</text></line>
|
||||
<line><text align="left" length="15">Postal:</text><text>${ticket.getCustomer().printPostal()}</text></line>
|
||||
<line><text align="left" length="15">Phone:</text><text>${ticket.getCustomer().printPhone1()}</text></line>
|
||||
<line><text align="left" length="15">Current Debt:</text><text>${ticket.getCustomer().printCurDebt()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
<line>
|
||||
<text align ="left" length="17">Item</text>
|
||||
<text align ="right" length="8">Price</text>
|
||||
<text align ="right" length="7">Qty</text>
|
||||
<text align ="right" length="10">Value</text>
|
||||
</line>
|
||||
<line><text align="left" length="42">------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<line>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="17">*${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="17">${ticketline.printName()}</text>
|
||||
#end
|
||||
<!-- Print line to show Prices pre-Tax
|
||||
<text align ="right" length="8">${ticketline.printPrice()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="8">${ticketline.printSubValue()}</text>
|
||||
</line>
|
||||
-->
|
||||
|
||||
<!-- Print line to show Prices inc. Tax -->
|
||||
<text align ="right" length="8">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${ticketline.printValue()}</text>
|
||||
</line>
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's barcode -->
|
||||
<!-- <line><text align ="left" length="12">Barcode : </text>${ticketline.printCode()}</text></line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's Reference -->
|
||||
<!-- <line><text align ="left" length="12">Reference : </text>${ticketline.printReference()}</text></line> -->
|
||||
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
<line><text align="left" length="42">------------------------------------------</text></line>
|
||||
<line><text>Items count: </text><text align ="left" length="14">${ticket.printArticlesCount()}</text></line>
|
||||
<line></line>
|
||||
<line><text align ="left" bold="true" length="16">Subtotal</text><text align ="right" length="26">${ticket.printSubTotal()}</text></line>
|
||||
<line><text align ="left" length="16">Tax</text><text align ="right" length="26">${ticket.printTax()}</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="16" bold="true">Balance Due</text>
|
||||
<text align ="right" length="26" bold="true">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
|
||||
#foreach ($taxinfo in $taxes)
|
||||
<!-- #set( $taxline = $ticket.getTaxLine($taxinfo)) -->
|
||||
<line>
|
||||
<text align ="left" length="18">${taxline.getTaxInfo()}</text>
|
||||
<text align ="right" length="12">${taxline.printSubTotal()}</text>
|
||||
<text align ="right" length="12">${taxline.printTax()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<line><text bold="true">Cash</text></line>
|
||||
<line><text align="left" length="22">Tendered:</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
<line><text align="left" length="22">Change:</text><text align ="right" length="20">${paymentline.printChange()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Refund</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Cheque</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Cheque Refund</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Voucher</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherout")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Note Refund</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "slip")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Slip</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "free")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">Free</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "debt")
|
||||
<line>
|
||||
<text align="left" length="22" bold="true">On Account</text>
|
||||
<text align ="right" length="20">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#end
|
||||
|
||||
#if (${ticket.printTicketFooterLine1()} != "")
|
||||
<line></line>
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketFooterLine1()}</text>
|
||||
</line>
|
||||
<line><text>==========================================</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine2()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine3()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine4()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine5()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine6()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine6()}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "ccard")
|
||||
#if ($paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD SALE</text></line>
|
||||
<line size="1"><text>${paymentline.getCardName()}</text></line>
|
||||
<line><text>${paymentline.printCardNumber()}</text></line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align="left" length="10">AMOUNT</text>
|
||||
<text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
<line><text>Tranx ID : </text><text>${paymentline.printTransactionID()}</text></line>
|
||||
<line><text>Auth Code : </text><text>${paymentline.printAuthorization()}</text></line>
|
||||
<line><text>Verified By : </text><text>${paymentline.printVerification()}</text></line>
|
||||
#end
|
||||
#if (!$paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD SALE</text></line>
|
||||
<line size="1"><text>${paymentline.getCardName()}</text></line>
|
||||
<line><text>${paymentline.printCardNumber()}</text></line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align="left" length="10">AMOUNT</text>
|
||||
<text align ="right" length="32">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Expiration Date:</text>
|
||||
<text>${paymentline.printExpirationDate()}</text>
|
||||
</line>
|
||||
<line><text>Operation : </text><text>${paymentline.printTransactionID()}</text></line>
|
||||
<line><text>Auth Code : </text><text>${paymentline.printAuthorization()}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
#if ($ticket.hasTip())
|
||||
<line><text align ="left" length="16">Tip:</text><text align ="right" length="26">_______________</text></line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="16" bold="false">Total</text>
|
||||
<text align ="right" length="26" bold="false">_______________</text></line>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="42" bold="false">__________________________________________</text>
|
||||
</line>
|
||||
<line size="1">
|
||||
<text align ="center" length="42" bold="false">Signature</text>
|
||||
</line>
|
||||
#else
|
||||
<line size="1">
|
||||
<text align ="left" length="16" bold="true">Total</text>
|
||||
<text align ="right" length="26" bold="true">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD REFUND</text></line>
|
||||
<line size="1"><text>${paymentline.getCardName()}</text></line>
|
||||
<line><text>${paymentline.printCardNumber()}</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
<line><text align ="left" length="22">Expiration Date:</text><text>${paymentline.printExpirationDate()}</text></line>
|
||||
<line><text>Tranx ID : </text><text>${paymentline.printTransactionID()}</text></line>
|
||||
<line><text>Auth Code : </text><text>${paymentline.printAuthorization()}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
</ticket>
|
||||
|
||||
<!-- unComment this block if you want to open Cashdrawer in Print Preview
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end -->
|
||||
|
||||
</output>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<!-- DISPLAY ANIMATION OPTIONS -->
|
||||
<!-- <display animation="flyer"> -->
|
||||
<!-- <display animation="scroll"> -->
|
||||
<!-- <display animation="blink"> -->
|
||||
<!-- <display animation="curtain"> -->
|
||||
|
||||
<display animation="none">
|
||||
<line><text align="center" length="20">uniCenta oPOS</text></line>
|
||||
<line><text align="center" length="20">Touch Friendly POS</text></line>
|
||||
</display>
|
||||
</output>
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Order sent to P1</text>
|
||||
<text align="right" length="10">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank you.</text>
|
||||
</line>
|
||||
</display>
|
||||
|
||||
<ticket printer="1">
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size = "1"><text bold = "true" align="center" length="42">Printer 1</text></line>
|
||||
<line></line>
|
||||
<line size = "1"><text>Order : </text><text bold = "true">${ticket.getPickupId()}</text></line>
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line size = "1"><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Sent from: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Server:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().getName()}</text></line>
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().getTaxid()}</text></line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line><text align ="left" length="17">Item</text><text align ="right" length="5"></text></line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
#if($ticketline.printPrinter().equals("1"))
|
||||
#if($ticketline.getProperty("ticket.updated").equals("true"))
|
||||
#if ($ticketline.isProductCom())
|
||||
<line size="1"><text align ="left" length="37">--${ticketline.printName()}</text></line>
|
||||
#else
|
||||
<line size="1">
|
||||
<text align ="left" length="5"> ${ticketline.printMultiply()}x</text>
|
||||
<text align ="left" length="37"> ${ticketline.printName()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- Add the following lines only for 2.30 Attributes -->
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
${ticketline.setProperty("ticket.updated", "false")}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Order sent to P2</text>
|
||||
<text align="right" length="10">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank you.</text>
|
||||
</line>
|
||||
</display>
|
||||
|
||||
<ticket printer="2">
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size = "1"><text bold = "true" align="center" length="42">Printer 2</text></line>
|
||||
<line></line>
|
||||
<line size = "1"><text>Order : </text><text bold = "true">${ticket.getPickupId()}</text></line>
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Sent from: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Server:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().getName()}</text></line>
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().getTaxid()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line><text align ="left" length="17">Item</text><text align ="right" length="5"></text></line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
#if($ticketline.printPrinter().equals("2"))
|
||||
#if($ticketline.getProperty("ticket.updated").equals("true"))
|
||||
#if ($ticketline.isProductCom())
|
||||
<line size="1"><text align ="left" length="37">--${ticketline.printName()}</text></line>
|
||||
#else
|
||||
<line size="1">
|
||||
<text align ="left" length="5"> ${ticketline.printMultiply()}x</text>
|
||||
<text align ="left" length="37"> ${ticketline.printName()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- Add the following lines only for 2.30 Attributes -->
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
${ticketline.setProperty("ticket.updated", "false")}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Order sent to P3</text>
|
||||
<text align="right" length="10">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank you.</text>
|
||||
</line>
|
||||
</display>
|
||||
|
||||
<ticket printer="3">
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size = "1"><text bold = "true" align="center" length="42">Printer 3</text></line>
|
||||
<line></line>
|
||||
<line size = "1"><text>Order : </text><text bold = "true">${ticket.getPickupId()}</text></line>
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Sent from: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Server:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().getName()}</text></line>
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().getTaxid()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line><text align ="left" length="17">Item</text><text align ="right" length="5"></text></line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
#if($ticketline.printPrinter().equals("3"))
|
||||
#if($ticketline.getProperty("ticket.updated").equals("true"))
|
||||
#if ($ticketline.isProductCom())
|
||||
<line size="1"><text align ="left" length="37">--${ticketline.printName()}</text></line>
|
||||
#else
|
||||
<line size="1">
|
||||
<text align ="left" length="5"> ${ticketline.printMultiply()}x</text>
|
||||
<text align ="left" length="37"> ${ticketline.printName()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- Add the following lines only for 2.30 Attributes -->
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
${ticketline.setProperty("ticket.updated", "false")}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Order sent to P4</text>
|
||||
<text align="right" length="10">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank you.</text>
|
||||
</line>
|
||||
</display>
|
||||
|
||||
<ticket printer="4">
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size = "1"><text bold = "true" align="center" length="42">Printer 4</text></line>
|
||||
<line></line>
|
||||
<line size = "1"><text>Order : </text><text bold = "true">${ticket.getPickupId()}</text></line>
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Sent from: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Server:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().getName()}</text></line>
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().getTaxid()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line><text align ="left" length="17">Item</text><text align ="right" length="5"></text></line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
#if($ticketline.printPrinter().equals("4"))
|
||||
#if($ticketline.getProperty("ticket.updated").equals("true"))
|
||||
#if ($ticketline.isProductCom())
|
||||
<line size="1"><text align ="left" length="37">--${ticketline.printName()}</text></line>
|
||||
#else
|
||||
<line size="1">
|
||||
<text align ="left" length="5"> ${ticketline.printMultiply()}x</text>
|
||||
<text align ="left" length="37"> ${ticketline.printName()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- Add the following lines only for 2.30 Attributes -->
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
${ticketline.setProperty("ticket.updated", "false")}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Order sent to P5</text>
|
||||
<text align="right" length="10">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank you.</text>
|
||||
</line>
|
||||
</display>
|
||||
|
||||
<ticket printer="5">
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size = "1"><text bold = "true" align="center" length="42">Printer 5</text></line>
|
||||
<line></line>
|
||||
<line size = "1"><text>Order : </text><text bold = "true">${ticket.getPickupId()}</text></line>
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Sent from: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Server:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().getName()}</text></line>
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().getTaxid()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line><text align ="left" length="17">Item</text><text align ="right" length="5"></text></line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
#if($ticketline.printPrinter().equals("5"))
|
||||
#if($ticketline.getProperty("ticket.updated").equals("true"))
|
||||
#if ($ticketline.isProductCom())
|
||||
<line size="1"><text align ="left" length="37">--${ticketline.printName()}</text></line>
|
||||
#else
|
||||
<line size="1">
|
||||
<text align ="left" length="5"> ${ticketline.printMultiply()}x</text>
|
||||
<text align ="left" length="37"> ${ticketline.printName()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- Add the following lines only for 2.30 Attributes -->
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
${ticketline.setProperty("ticket.updated", "false")}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Order sent to P6</text>
|
||||
<text align="right" length="10">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank you.</text>
|
||||
</line>
|
||||
</display>
|
||||
|
||||
<ticket printer="6">
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size = "1"><text bold = "true" align="center" length="42">Printer 6</text></line>
|
||||
<line></line>
|
||||
<line size = "1"><text>Order : </text><text bold = "true">${ticket.getPickupId()}</text></line>
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Sent from: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Server:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().getName()}</text></line>
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().getTaxid()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line><text align ="left" length="17">Item</text><text align ="right" length="5"></text></line>
|
||||
<line><text>------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
#if($ticketline.printPrinter().equals("6"))
|
||||
#if($ticketline.getProperty("ticket.updated").equals("true"))
|
||||
#if ($ticketline.isProductCom())
|
||||
<line size="1"><text align ="left" length="37">--${ticketline.printName()}</text></line>
|
||||
#else
|
||||
<line size="1">
|
||||
<text align ="left" length="5"> ${ticketline.printMultiply()}x</text>
|
||||
<text align ="left" length="37"> ${ticketline.printName()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- Add the following lines only for 2.30 Attributes -->
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
${ticketline.setProperty("ticket.updated", "false")}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,270 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2019 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
|
||||
<display>
|
||||
<line><text align="left" length="8">Total</text><text align="right" length="12">${ticket.printTotal()}</text></line>
|
||||
<line><text align="center" length="20">Thank you</text></line>
|
||||
</display>
|
||||
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line>
|
||||
</line>
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine1()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine2()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine3()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine4()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine6()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine6()}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="center" length="42">Printer.Ticket</text></line>
|
||||
<line></line>
|
||||
#if (${ticket.ticketType} == 0)
|
||||
<line><text align="left" length="15">Receipt:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
#if (${ticket.ticketType} == 1)
|
||||
<line><text align="left" length="15">Refund:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Terminal: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Served by:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().printTaxCustomerID()}</text></line>
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().printName()}</text></line>
|
||||
<line><text align="left" length="15">Address:</text><text>${ticket.getCustomer().printAddress()}</text></line>
|
||||
<line><text align="left" length="15">Postal:</text><text>${ticket.getCustomer().printPostal()}</text></line>
|
||||
<line><text align="left" length="15">Phone:</text><text>${ticket.getCustomer().printPhone1()}</text></line>
|
||||
<line><text align="left" length="15">Current Debt:</text><text>${ticket.getCustomer().printCurDebt()}</text></line>
|
||||
<line><text align="left" length="15">Balance:</text><text>${ticket.getCustomer().printCurBal()}</text></line>
|
||||
<line><text align="left" length="15">TaxId:</text><text>${ticket.getCustomer().getTaxid()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" length="17">Item</text>
|
||||
<text align ="right" length="8">Price</text>
|
||||
<text align ="right" length="7">Qty</text>
|
||||
<text align ="right" length="10">Value</text>
|
||||
</line>
|
||||
<line><text align="left" length="42">------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<line>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="17">*${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="17">${ticketline.printName()}</text>
|
||||
#end
|
||||
<!-- Print line to show Prices pre-Tax
|
||||
<text align ="right" length="8">${ticketline.printPrice()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="8">${ticketline.printSubValue()}</text>
|
||||
</line>
|
||||
-->
|
||||
|
||||
<!-- Print line to show Prices inc. Tax -->
|
||||
<text align ="right" length="8">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${ticketline.printValue()}</text>
|
||||
</line>
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's barcode -->
|
||||
<!-- <line><text align ="left" length="12">Barcode : </text>${ticketline.printCode()}</text></line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's Reference -->
|
||||
<!-- <line><text align ="left" length="12">Reference : </text>${ticketline.printReference()}</text></line> -->
|
||||
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
<line><text align="left" length="42">------------------------------------------</text></line>
|
||||
<line><text>Items count: </text><text align ="left" length="14">${ticket.printArticlesCount()}</text></line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="16">Subtotal</text>
|
||||
<text align ="right" length="26">${ticket.printSubTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="16">Tax</text>
|
||||
<text align ="right" length="26">${ticket.printTax()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="16" bold="true">Balance Due</text>
|
||||
<text align ="right" length="26" bold="true">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
|
||||
#foreach ($taxinfo in $taxes)
|
||||
#set( $taxline = $ticket.getTaxLine($taxinfo))
|
||||
<line>
|
||||
<text align ="left" length="18">${taxline.getTaxInfo()}</text>
|
||||
<text align ="right" length="12">${taxline.printSubTotal()}</text>
|
||||
<text align ="right" length="12">${taxline.printTax()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<line><text bold="true">Cash</text></line>
|
||||
<line><text align="left" length="22">Tendered:</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
<line><text align="left" length="22">Change:</text><text align ="right" length="20">${paymentline.printChange()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<line><text align="left" length="22" bold="true">Refund</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line><text align="left" length="22" bold="true">Cheque</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<line><text align="left" length="22" bold="true">Cheque Refund</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line><text align="left" length="22" bold="true">Voucher : ${paymentline.printVoucherNumber()}</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherout")
|
||||
<line><text align="left" length="22" bold="true">Voucher Refund : ${paymentline.printVoucherNumber()}</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "slip")
|
||||
<line><text align="left" length="22" bold="true">Slip</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "free")
|
||||
<line><text align="left" length="22" bold="true">Free</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "debt")
|
||||
<line><text align="left" length="22" bold="true">On Account</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
#if (${ticket.printTicketFooterLine1()} != "")
|
||||
<line></line>
|
||||
<line><text align="center" length="42">${ticket.printTicketFooterLine1()}</text></line>
|
||||
<line><text>==========================================</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine2()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine3()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine4()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine5()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine6()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine6()}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
|
||||
#if ($paymentline.name == "ccard")
|
||||
#if ($paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD SALE</text></line>
|
||||
<line size="1"><text>${paymentline.getCardName()}</text></line>
|
||||
<line><text>${paymentline.printCardNumber()}</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
<line><text>Tranx ID : </text><text>${paymentline.printTransactionID()}</text></line>
|
||||
<line><text>Auth Code : </text><text>${paymentline.printAuthorization()}</text></line>
|
||||
<line><text>Verified By : </text><text>${paymentline.printVerification()}</text></line>
|
||||
<line><text>Card # (last 4) : </text><text>${paymentline.printLastFourDigits()}</text></line>
|
||||
#end
|
||||
#if (!$paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD SALE</text></line>
|
||||
<line size="1"><text>${paymentline.getCardName()}</text></line>
|
||||
<line><text>${paymentline.printCardNumber()}</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
<line><text align ="left" length="22">Expiration Date:</text><text>${paymentline.printExpirationDate()}</text></line>
|
||||
<line><text>Operation : </text><text>${paymentline.printTransactionID()}</text></line>
|
||||
<line><text>Auth Code : </text><text>${paymentline.printAuthorization()}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
#if ($ticket.hasTip())
|
||||
<line><text align ="left" length="16">Tip:</text><text align ="right" length="26">_______________</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="16" bold="false">Total</text><text align ="right" length="26" bold="false">_______________</text></line>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="42" bold="false">__________________________________________</text></line>
|
||||
<line size="1"><text align ="center" length="42" bold="false">Signature</text></line>
|
||||
#else
|
||||
<line size="1"><text align ="left" length="16" bold="true">Total</text><text align ="right" length="26" bold="true">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD REFUND</text></line>
|
||||
<line size="1"><text>${paymentline.getCardName()}</text></line>
|
||||
<line><text>${paymentline.printCardNumber()}</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
<line><text align ="left" length="22">Expiration Date:</text><text>${paymentline.printExpirationDate()}</text></line>
|
||||
<line><text>Tranx ID : </text><text>${paymentline.printTransactionID()}</text></line>
|
||||
<line><text>Auth Code : </text><text>${paymentline.printAuthorization()}</text></line>
|
||||
<line></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
</ticket>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end
|
||||
|
||||
</output>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="8">Total:</text>
|
||||
<text align="right" length="12">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank You for your custom</text>
|
||||
</line>
|
||||
</display>
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end
|
||||
</output>
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
This displays amount tendered and change on customer display
|
||||
|
||||
-->
|
||||
<output>
|
||||
<display>
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
<line>
|
||||
<text align="left" length="8">Given:</text>
|
||||
<text align ="right" length="12">${paymentline.printPaid()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="8">Change:</text>
|
||||
<text align ="right" length="12">${paymentline.printChange()}</text>
|
||||
</line>
|
||||
#end
|
||||
</display>
|
||||
</output>
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align="left" length="15">*${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align="left" length="15">${ticketline.printName()}</text>
|
||||
#end
|
||||
<text align="right" length="5">x${ticketline.printMultiply()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<!-- These lines for values without tax
|
||||
<text align="right" length="10">${ticketline.printPrice()}</text>
|
||||
<text align="right" length="10">${ticketline.printSubValue()}</text>
|
||||
-->
|
||||
<!-- These lines for values with tax -->
|
||||
<text align ="right" length="10">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="10">${ticketline.printValue()}</text>
|
||||
|
||||
</line>
|
||||
</display>
|
||||
</output>
|
||||
@@ -0,0 +1,319 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="10">Total</text>
|
||||
<text align="right" length="10">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank you for your custom</text>
|
||||
</line>
|
||||
</display>
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine1()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine2()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine2()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine3()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine3()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine4()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine4()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine5()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine6()} != "")
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketHeaderLine6()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line>
|
||||
<text align="center" length="42">Printer.TicketNew</text>
|
||||
</line>
|
||||
<line></line>
|
||||
#if (${ticket.ticketType} == 0)
|
||||
<line>
|
||||
<text align="left" length="15">Receipt:</text>
|
||||
<text>${ticket.printId()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.ticketType} == 1)
|
||||
<line>
|
||||
<text align="left" length="15">Refund:</text>
|
||||
<text>${ticket.printId()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line>
|
||||
<text align="left" length="15">Date:</text>
|
||||
<text>${ticket.printDate()}</text>
|
||||
</line>
|
||||
#if ($ticket.getCustomer())
|
||||
<line>
|
||||
<text align="left" length="15">Customer:</text>
|
||||
<text>${ticket.getCustomer().printName()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Account #:</text>
|
||||
<text>${ticket.getCustomer().printTaxid()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Current Debt:</text>
|
||||
<text>${ticket.getCustomer().printCurDebt()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line>
|
||||
<text align="left" length="15">Table:</text>
|
||||
<text>${place}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<line>
|
||||
<text align="left" length="15">Served by:</text>
|
||||
<text>${ticket.printUser()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" length="17">Item</text>
|
||||
<text align ="right" length="8">Price</text>
|
||||
<text align ="right" length="7">Qty</text>
|
||||
<text align ="right" length="10">Value</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>------------------------------------------</text>
|
||||
</line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<line>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="17">*${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="17">${ticketline.printName()}</text>
|
||||
#end
|
||||
<text align ="right" length="8">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${ticketline.printValue()}</text>
|
||||
</line>
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line>
|
||||
<text align ="left" length="42">${ticketline.productAttSetInstDesc}</text>
|
||||
</line>
|
||||
#end
|
||||
#end
|
||||
<line>
|
||||
<text>------------------------------------------</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>Items count: </text>
|
||||
<text align ="left" length="14">${ticket.printArticlesCount()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="16" bold="true">Total</text>
|
||||
<text align ="right" length="26" bold="true">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<line>
|
||||
<text bold="true">Cash</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="22">Tendered:</text>
|
||||
<text align ="right" length="20">${paymentline.printPaid()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="22">Change:</text>
|
||||
<text align ="right" length="20">${paymentline.printChange()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<line>
|
||||
<text bold="true">Refund</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "ccard")
|
||||
<line>
|
||||
<text bold="true">Card</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Card Number:</text>
|
||||
<text>${paymentline.printCardNumber()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Expiration Date:</text>
|
||||
<text>${paymentline.printExpirationDate()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Operation:</text>
|
||||
<text>${paymentline.printTransactionID()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="22">Authorisation:</text>
|
||||
<text>${paymentline.printAuthorization()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<line>
|
||||
<text bold="true">Card Refund</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Cheque</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Cheque Refund</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Voucher</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherout")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Note Refund</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "free")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">Free</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if ($paymentline.name == "debt")
|
||||
<line></line>
|
||||
<line>
|
||||
<text bold="true">On Account</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="42">${paymentline.printTotal()}</text>
|
||||
</line>
|
||||
#end
|
||||
#end
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="16">Nett of Tax:</text>
|
||||
<text align ="right" length="26">${ticket.printSubTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="16">Taxes:</text>
|
||||
<text align ="right" length="26">${ticket.printTax()}</text>
|
||||
</line>
|
||||
#foreach ($taxinfo in $taxes)
|
||||
<line>
|
||||
<text align ="left" length="18">${taxinfo.getTaxInfo()}</text>
|
||||
<text align ="right" length="12">${taxinfo.printSubTotal()}</text>
|
||||
<text align ="right" length="12">${taxinfo.printTax()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line></line>
|
||||
<line>
|
||||
<text align="center" length="42">${ticket.printTicketFooterLine1()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>==========================================</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine2()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine2()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine3()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine3()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine4()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine4()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine5()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine5()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine6()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine6()}</text>
|
||||
</line>
|
||||
#end
|
||||
</ticket>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end
|
||||
</output>
|
||||
@@ -0,0 +1,245 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
|
||||
<display>
|
||||
<line><text align="left" length="8">Total</text><text align="right" length="12">${ticket.printTotal()}</text></line>
|
||||
<line><text align="center" length="20">Thank you</text></line>
|
||||
</display>
|
||||
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine1()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine2()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine3()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine4()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine6()} != "")
|
||||
<line><text align="center" length="42">${ticket.printTicketHeaderLine6()}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="center" length="42">Printer.TicketPreview</text></line>
|
||||
<line></line>
|
||||
#if (${ticket.ticketType} == 0)
|
||||
<line><text align="left" length="15">Receipt:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
#if (${ticket.ticketType} == 1)
|
||||
<line><text align="left" length="15">Refund:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Terminal: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Served by:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().printTaxCustomerID()}</text></line>
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().printName()}</text></line>
|
||||
<line><text align="left" length="15">Address:</text><text>${ticket.getCustomer().printAddress()}</text></line>
|
||||
<line><text align="left" length="15">Postal:</text><text>${ticket.getCustomer().printPostal()}</text></line>
|
||||
<line><text align="left" length="15">Phone:</text><text>${ticket.getCustomer().printPhone1()}</text></line>
|
||||
<line><text align="left" length="15">Current Debt:</text><text>${ticket.getCustomer().printCurDebt()}</text></line>
|
||||
<line><text align="left" length="15">Balance:</text><text>${ticket.getCustomer().printCurBal()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" length="17">Item</text>
|
||||
<text align ="right" length="8">Price</text>
|
||||
<text align ="right" length="7">Qty</text>
|
||||
<text align ="right" length="10">Value</text>
|
||||
</line>
|
||||
<line><text align="left" length="42">------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<line>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="17">*${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="17">${ticketline.printName()}</text>
|
||||
#end
|
||||
<!-- Print line to show Prices pre-Tax
|
||||
<text align ="right" length="8">${ticketline.printPrice()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="8">${ticketline.printSubValue()}</text>
|
||||
</line>
|
||||
-->
|
||||
|
||||
<!-- Print line to show Prices inc. Tax -->
|
||||
<text align ="right" length="8">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="7">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${ticketline.printValue()}</text>
|
||||
</line>
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's barcode -->
|
||||
<!-- <line><text align ="left" length="12">Barcode : </text>${ticketline.printCode()}</text></line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's Reference -->
|
||||
<!-- <line><text align ="left" length="12">Reference : </text>${ticketline.printReference()}</text></line> -->
|
||||
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
<line><text align="left" length="42">------------------------------------------</text></line>
|
||||
<line><text>Items count: </text><text align ="left" length="14">${ticket.printArticlesCount()}</text></line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="16">Subtotal</text>
|
||||
<text align ="right" length="26">${ticket.printSubTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="16">Tax</text>
|
||||
<text align ="right" length="26">${ticket.printTax()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="16" bold="true">Balance Due</text>
|
||||
<text align ="right" length="26" bold="true">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
|
||||
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<line><text bold="true">Cash</text></line>
|
||||
<line><text align="left" length="22">Tendered:</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
<line><text align="left" length="22">Change:</text><text align ="right" length="20">${paymentline.printChange()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<line><text align="left" length="22" bold="true">Refund</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line><text align="left" length="22" bold="true">Cheque</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<line><text align="left" length="22" bold="true">Cheque Refund</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line><text align="left" length="22" bold="true">Voucher</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherout")
|
||||
<line><text align="left" length="22" bold="true">Voucher Refund<text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "slip")
|
||||
<line><text align="left" length="22" bold="true">Slip</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "free")
|
||||
<line><text align="left" length="22" bold="true">Free</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "debt")
|
||||
<line><text align="left" length="22" bold="true">On Account</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
#if (${ticket.printTicketFooterLine1()} != "")
|
||||
<line></line>
|
||||
<line><text align="center" length="42">${ticket.printTicketFooterLine1()}</text></line>
|
||||
<line><text>==========================================</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine2()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine3()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine4()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine5()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine6()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine6()}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "ccard")
|
||||
#if ($paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD SALE</text></line>
|
||||
<line><text align = "center" length="42" bold="true">A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if (!$paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD SALE</text></line>
|
||||
<line><text align = "center" length="42" bold="true">A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($ticket.hasTip())
|
||||
<line><text align ="left" length="16">Tip:</text><text align ="right" length="26">_______________</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="16" bold="false">Total</text><text align ="right" length="26" bold="false">_______________</text></line>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="42" bold="false">__________________________________________</text></line>
|
||||
<line size="1"><text align ="center" length="42" bold="false">Signature</text></line>
|
||||
#else
|
||||
<line size="1"><text align ="left" length="16" bold="true">Total</text><text align ="right" length="26" bold="true">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD SALE</text></line>
|
||||
<line></line>
|
||||
<line><text align = "center" length="42" bold="true">A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
</ticket>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end
|
||||
|
||||
</output>
|
||||
@@ -0,0 +1,243 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Contributed by: Julian Roberts, Brockley Estate, Tasmania
|
||||
Additional changes: uniCenta 2015
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
|
||||
<display>
|
||||
<line><text align="left" length="8">Total</text><text align="right" length="12">${ticket.printTotal()}</text></line>
|
||||
<line><text align="center" length="20">Thank you</text></line>
|
||||
</display>
|
||||
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<line><text align="center" length="126">${ticket.printTicketHeaderLine1()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine2()} != "")
|
||||
<line><text align="center" length="126">${ticket.printTicketHeaderLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine3()} != "")
|
||||
<line><text align="center" length="126">${ticket.printTicketHeaderLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine4()} != "")
|
||||
<line><text align="center" length="126">${ticket.printTicketHeaderLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<line><text align="center" length="126">${ticket.printTicketHeaderLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine6()} != "")
|
||||
<line><text align="center" length="126">${ticket.printTicketHeaderLine6()}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="center" length="126">Printer.TicketPreview</text></line>
|
||||
<line></line>
|
||||
#if (${ticket.ticketType} == 0)
|
||||
<line><text align="left" length="15">Receipt:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
#if (${ticket.ticketType} == 1)
|
||||
<line><text align="left" length="15">Refund:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
<line><text align="left" length="15">Terminal: </text><text>${ticket.getHost()}</text></line>
|
||||
<line><text align="left" length="15">Served by:</text><text>${ticket.printUser()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().printTaxCustomerID()}</text></line>
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().printName()}</text></line>
|
||||
<line><text align="left" length="15">Address:</text><text>${ticket.getCustomer().printAddress()}</text></line>
|
||||
<line><text align="left" length="15">Postal:</text><text>${ticket.getCustomer().printPostal()}</text></line>
|
||||
<line><text align="left" length="15">Phone:</text><text>${ticket.getCustomer().printPhone1()}</text></line>
|
||||
<line><text align="left" length="15">Current Debt:</text><text>${ticket.getCustomer().printCurDebt()}</text></line>
|
||||
<line><text align="left" length="15">Balance:</text><text>${ticket.getCustomer().printCurBal()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table:</text><text>${place}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" length="83">Item</text>
|
||||
<text align ="right" length="10">Price</text>
|
||||
<text align ="right" length="5">Qty</text>
|
||||
<text align ="right" length="10">Value</text>
|
||||
</line>
|
||||
<line><text align="left" length="108">------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<line>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="83">*${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="83">${ticketline.printName()}</text>
|
||||
#end
|
||||
<!-- Print line to show Prices pre-Tax -->
|
||||
<text align ="right" length="10">${ticketline.printPrice()}</text>
|
||||
<text align ="right" length="5">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${ticketline.printSubValue()}</text>
|
||||
</line>
|
||||
|
||||
<!-- Print line to show Prices inc. Tax
|
||||
<text align ="right" length="10">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="5">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${ticketline.printValue()}</text>
|
||||
</line>
|
||||
-->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="108">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="108">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's barcode -->
|
||||
<!-- <line><text align ="left" length="30">Barcode : </text>${ticketline.printCode()}</text></line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a product's Reference -->
|
||||
<!-- <line><text align ="left" length="30">Reference : </text>${ticketline.printReference()}</text></line> -->
|
||||
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
<line><text align="left" length="108">------------------------------------------</text></line>
|
||||
<line><text>Items count: </text><text align ="left" length="14">${ticket.printArticlesCount()}</text></line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" bold="true" length="16">Subtotal</text>
|
||||
<text align ="right" length="26">${ticket.printSubTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="left" length="16">Tax</text>
|
||||
<text align ="right" length="26">${ticket.printTax()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="left" length="16" bold="true">Balance Due</text>
|
||||
<text align ="right" length="26" bold="true">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<line><text bold="true">Cash</text></line>
|
||||
<line><text align="left" length="22">Tendered:</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
<line><text align="left" length="22">Change:</text><text align ="right" length="20">${paymentline.printChange()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<line><text align="left" length="22" bold="true">Refund</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line><text align="left" length="22" bold="true">Cheque</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<line><text align="left" length="22" bold="true">Cheque Refund</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line><text align="left" length="22" bold="true">Voucher</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherout")
|
||||
<line><text align="left" length="22" bold="true">Note Refund</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "slip")
|
||||
<line><text align="left" length="22" bold="true">Slip</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "free")
|
||||
<line><text align="left" length="22" bold="true">Free</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "debt")
|
||||
<line><text align="left" length="22" bold="true">On Account</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
#if (${ticket.printTicketFooterLine1()} != "")
|
||||
<line></line>
|
||||
<line><text align="center" length="108">${ticket.printTicketFooterLine1()}</text></line>
|
||||
<line><text>==========================================</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine2()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine3()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine4()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine5()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine6()} != "")
|
||||
<line><text>${ticket.printTicketFooterLine6()}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "ccard")
|
||||
#if ($paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="126" bold="true">CARD SALE</text></line>
|
||||
<line><text align = "center" length="126" bold="true">A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if (!$paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="126" bold="true">CARD SALE</text></line>
|
||||
<line><text align = "center" length="126" bold="true">A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($ticket.hasTip())
|
||||
<line><text align ="left" length="16">Tip:</text><text align ="right" length="26">_______________</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="16" bold="false">Total</text><text align ="right" length="26" bold="false">_______________</text></line>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="126" bold="false">__________________________________________</text></line>
|
||||
<line size="1"><text align ="center" length="126" bold="false">Signature</text></line>
|
||||
#else
|
||||
<line size="1"><text align ="left" length="16" bold="true">Total</text><text align ="right" length="26" bold="true">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<line size="1"><text align="center" length="126" bold="true">CARD SALE</text></line>
|
||||
<line></line>
|
||||
<line><text align = "center" length="126" bold="true">A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left" length="10">AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
</ticket>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end
|
||||
|
||||
</output>
|
||||
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="8">Sent!</text>
|
||||
<text align="right" length="12">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank you</text>
|
||||
</line>
|
||||
</display>
|
||||
|
||||
<ticket printer = "2">
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size = "1">
|
||||
<text bold = "true" align="center" length="42">ORDER</text>
|
||||
</line>
|
||||
<line></line>
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line size ="1">
|
||||
<text bold="true" align="left" length="15">Table:</text>
|
||||
<text bold="true">${place}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<line>
|
||||
<text align="left" length="15">Server:</text>
|
||||
<text>${ticket.printUser()}</text>
|
||||
</line>
|
||||
|
||||
<line>
|
||||
<text align="left" length="15">Date:</text>
|
||||
<text>${ticket.printDate()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Receipt:</text>
|
||||
<text>${ticket.printId()}</text>
|
||||
</line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line>
|
||||
<text align="left" length="15">Customer:</text>
|
||||
<text>${ticket.getCustomer().getName()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="15">Account #:</text>
|
||||
<text>${ticket.getCustomer().getTaxid()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line>
|
||||
<text align ="left" length="17">Item</text>
|
||||
<text align ="right" length="5"></text>
|
||||
</line>
|
||||
<line>
|
||||
<text>------------------------------------------</text>
|
||||
</line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<!-- Show Product's assigned Printer
|
||||
<line><text align="left" length="15">Printer :</text><text>${ticketline.printPrinter()}</text></line>-->
|
||||
|
||||
#if(($ticketline.printPrinter()) && ($ticketline.getProperty("sendstatus").equals("No")))
|
||||
<line size = "1">
|
||||
<text align ="left" length="5">${ticketline.printMultiply()}x</text>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="37">--${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="37">${ticketline.printName()}</text>
|
||||
#end
|
||||
</line>
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line>
|
||||
<text align ="left" length="42"> ${ticketline.productAttSetInstDesc}</text>
|
||||
</line>
|
||||
<line></line>
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
<line>
|
||||
<text>------------------------------------------</text>
|
||||
</line>
|
||||
</ticket>
|
||||
</output>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<output>
|
||||
<display>
|
||||
<line>
|
||||
<text align="left" length="8">Total:</text>
|
||||
<text align="right" length="12">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align="center" length="20">Thank You for your custom</text>
|
||||
</line>
|
||||
</display>
|
||||
</output>
|
||||
@@ -0,0 +1,259 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Contributed by: Julian Roberts, Brockley Estate, Tasmania
|
||||
Additional changes: uniCenta 2015
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<output>
|
||||
|
||||
<display>
|
||||
<line><text align="left" length="10">Total</text><text align="right" length="10">${ticket.printTotal()}</text></line>
|
||||
<line><text align="center" length="20">Thank you for your custom</text></line>
|
||||
</display>
|
||||
|
||||
<ticket>
|
||||
<line></line>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line></line>
|
||||
<line><text align="center" length="126">Tax Invoice</text></line>
|
||||
<line></line>
|
||||
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<line>
|
||||
<text align="center" length="126">${ticket.printTicketHeaderLine1()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine2()} != "")
|
||||
<line>
|
||||
<text align="center" length="126">${ticket.printTicketHeaderLine2()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine3()} != "")
|
||||
<line>
|
||||
<text align="center" length="126">${ticket.printTicketHeaderLine3()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine4()} != "")
|
||||
<line>
|
||||
<text align="center" length="126">${ticket.printTicketHeaderLine4()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<line>
|
||||
<text align="center" length="126">${ticket.printTicketHeaderLine5()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketHeaderLine6()} != "")
|
||||
<line>
|
||||
<text align="center" length="126">${ticket.printTicketHeaderLine6()}</text>
|
||||
</line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
|
||||
|
||||
#if (${ticket.ticketType} == 0)
|
||||
<line><text align="left" length="15">Receipt:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${ticket.ticketType} == 1)
|
||||
<line><text align="left" length="15">Refund:</text><text>${ticket.printId()}</text></line>
|
||||
#end
|
||||
<line><text align="left" length="15">Date:</text><text>${ticket.printDate()}</text></line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left" length="15">Account #:</text><text>${ticket.getCustomer().printTaxCustomerID()}</text></line>
|
||||
<line><text align="left" length="15">Customer:</text><text>${ticket.getCustomer().printName()}</text></line>
|
||||
<line><text align="left" length="15">Address:</text><text>${ticket.getCustomer().printAddress()}</text></line>
|
||||
<line><text align="left" length="15">Postal:</text><text>${ticket.getCustomer().printPostal()}</text></line>
|
||||
<line><text align="left" length="15">Phone:</text><text>${ticket.getCustomer().printPhone1()}</text></line>
|
||||
<line><text align="left" length="15">Current Debt:</text><text>${ticket.getCustomer().printCurDebt()}</text></line>
|
||||
<line><text align="left" length="15">Balance:</text><text>${ticket.getCustomer().printCurBal()}</text></line>
|
||||
#end
|
||||
|
||||
#if (${tickettext.place} != ${place})
|
||||
<line><text align="left" length="15">Table/Room:</text><text>${place}</text></line>
|
||||
#end
|
||||
|
||||
<line><text align="left" length="15">Served by:</text><text>${ticket.printUser()}</text></line>
|
||||
<line></line>
|
||||
<line><text align ="left" length="83">Item</text><text align ="right" length="10">Price</text><text align ="right" length="5">Qty</text><text align ="right" length="10">Value</text></line>
|
||||
<line><text align="left" length="108">------------------------------------------------------------------------------------------------------------</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<line>
|
||||
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="83">*${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="83">${ticketline.printName()}</text>
|
||||
#end
|
||||
<text align ="right" length="10">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="5">x${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="10">${ticketline.printValue()}</text>
|
||||
</line>
|
||||
|
||||
<!-- un-comment line below if you want to add a product's properties -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("ingredients", "")}</text> </line> -->
|
||||
|
||||
<!-- un-comment line below if you want to add a user input sales line's Note -->
|
||||
<!-- <line><text align ="left" length="42">${ticketline.getProperty("notes", "")}</text> </line> -->
|
||||
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="42">${ticketline.productAttSetInstDesc}</text></line>
|
||||
#end
|
||||
#end
|
||||
<line><text align="left" length="108">------------------------------------------------------------------------------------------------------------</text></line>
|
||||
<line><text>Items count: </text><text align ="left" length="14">${ticket.printArticlesCount()}</text></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
|
||||
#if ($paymentline.name == "cash")
|
||||
<line><text bold="true">Cash</text></line>
|
||||
<!-- <line><text align="left" length="22">Tendered:</text><text align ="right" length="20">${paymentline.printTendered()}</text></line> -->
|
||||
<line><text align="left" length="22">Change:</text><text align ="right" length="20">${paymentline.printChange()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<line><text bold="true">Refund</text></line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "ccard")
|
||||
<line><text bold="true">Card</text></line>
|
||||
<line> <text>Card Type</text></line>
|
||||
<line>
|
||||
<text>${paymentline.getCardName()}</text>
|
||||
</line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<line><text bold="true">Card Refund</text></line>
|
||||
<line> <text>Card Type</text></line>
|
||||
<line>
|
||||
<text>${paymentline.getCardName()}</text>
|
||||
</line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line></line>
|
||||
<line><text bold="true">Cheque</text></line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<line></line>
|
||||
<line><text bold="true">Cheque Refund</text></line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line></line>
|
||||
<line><text bold="true">Voucher</text></line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "voucherout")
|
||||
<line></line>
|
||||
<line><text bold="true">Note Refund</text></line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "free")
|
||||
<line></line>
|
||||
<line><text bold="true">Free</text></line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "debt")
|
||||
<line></line>
|
||||
<line><text bold="true">On Account</text></line>
|
||||
<line><text align ="right" length="108">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
|
||||
<line></line>
|
||||
<line><text align ="left" length="16">Taxable Items:</text><text align ="right" length="92">${ticket.printSubTotal()}</text></line>
|
||||
<line><text align ="left" length="22">Tax Included in total:</text><text align ="right" length="86">${ticket.printTax()}</text></line>
|
||||
<line></line>
|
||||
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" length="16" bold="true">Total</text><text align ="right" length="92" bold="true">${ticket.printTotal()}</text></line>
|
||||
|
||||
<!-- #foreach ($taxinfo in $taxes) -->
|
||||
<!-- #set( $taxline = $ticket.getTaxLine($taxinfo)) -->
|
||||
<!-- <line> -->
|
||||
<!-- <text align ="left" length="18">${taxline.getTaxInfo()}</text> -->
|
||||
<!-- <text align ="right" length="12">${taxline.printSubTotal()}</text> -->
|
||||
<!-- <text align ="right" length="12">${taxline.printTax()}</text> -->
|
||||
<!-- </line> -->
|
||||
<!--#end -->
|
||||
|
||||
<line></line>
|
||||
#if (${ticket.printTicketFooterLine1()} != "")
|
||||
<line>
|
||||
<text align="center" length="105">${ticket.printTicketFooterLine1()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text>==========================================</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine2()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine2()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine3()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine3()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine4()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine4()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine5()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine5()}</text>
|
||||
</line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine6()} != "")
|
||||
<line>
|
||||
<text>${ticket.printTicketFooterLine6()}</text>
|
||||
</line>
|
||||
#end
|
||||
<line></line>
|
||||
<!-- <line><barcode type="CODE128">${ticket.printId()}</barcode></line> -->
|
||||
|
||||
</ticket>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<opendrawer/>
|
||||
#end
|
||||
#end
|
||||
|
||||
</output>
|
||||
@@ -0,0 +1,198 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS.
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--
|
||||
The Administrator Role Permissions has full access to all uniCenta oPOS
|
||||
functionality.
|
||||
The Administrator Role should only be used to make system changes.
|
||||
|
||||
*** Do not change unless you know what you are doing ***
|
||||
-->
|
||||
|
||||
|
||||
<permissions>
|
||||
<class name="plugins.configure"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelCloseMoney"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelCloseMoneyReprint"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelPayments"/>
|
||||
<class name="com.unicenta.pos.sales.JPanelTicketEdits"/>
|
||||
<class name="com.unicenta.pos.sales.JPanelTicketSales"/>
|
||||
|
||||
<class name="payment.bank"/>
|
||||
<class name="payment.cash"/>
|
||||
<class name="payment.cheque"/>
|
||||
<class name="payment.debt"/>
|
||||
<class name="payment.free"/>
|
||||
<class name="payment.magcard"/>
|
||||
<class name="payment.slip"/>
|
||||
<class name="payment.voucher"/>
|
||||
<class name="refund.cash"/>
|
||||
<class name="refund.cheque"/>
|
||||
<class name="refund.magcard"/>
|
||||
<class name="refund.voucher"/>
|
||||
<class name="sales.ChangeTaxOptions"/>
|
||||
<class name="sales.DeleteLines"/>
|
||||
<class name="sales.DeleteTicket"/>
|
||||
<class name="sales.EditLines"/>
|
||||
<class name="sales.EditTicket"/>
|
||||
<class name="sales.Layout"/>
|
||||
<class name="sales.Override"/>
|
||||
<class name="sales.PrintRemote"/>
|
||||
<class name="sales.PrintTicket"/>
|
||||
<class name="sales.RefundTicket"/>
|
||||
<class name="sales.ShowList"/>
|
||||
<class name="sales.Total"/>
|
||||
<class name="sales.ViewSharedTicket"/>
|
||||
|
||||
<!-- Standard button scripts -->
|
||||
<class name="button.opendrawer"/>
|
||||
<class name="button.print"/>
|
||||
<class name="button.Totaldiscount"/>
|
||||
|
||||
<!-- Additional button scripts -->
|
||||
<class name="button.keyboard"/>
|
||||
<class name="button.Linediscount"/>
|
||||
<class name="button.refundit"/>
|
||||
<class name="button.scharge"/>
|
||||
<class name="button.sendorder"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuCustomers"/>
|
||||
<class name="com.unicenta.pos.customers.CustomersPanel"/>
|
||||
<class name="/com/unicenta/reports/customers.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_cards.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_debtors.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_diary.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_export.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_list.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_sales.bs"/>
|
||||
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuSuppliers"/>
|
||||
<class name="com.unicenta.pos.suppliers.SuppliersPanel"/>
|
||||
<class name="/com/unicenta/reports/suppliers.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_b.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_creditors.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_diary.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_export.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_list.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_products.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_sales.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuStockManagement"/>
|
||||
<class name="com.unicenta.pos.inventory.AttributeSetsPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.AttributesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.AttributeUsePanel"/>
|
||||
<class name="com.unicenta.pos.inventory.AttributeValuesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.AuxiliarPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.BundlePanel"/>
|
||||
<class name="com.unicenta.pos.inventory.CategoriesPanel"/>
|
||||
|
||||
<class name="com.unicenta.pos.inventory.ProductsPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.ProductsWarehousePanel"/>
|
||||
<class name="com.unicenta.pos.inventory.StockDiaryPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.StockManagement"/>
|
||||
<class name="com.unicenta.pos.inventory.TaxCategoriesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.TaxCustCategoriesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.TaxPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.UomPanel"/>
|
||||
|
||||
<class name="/com/unicenta/reports/inventory.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_b.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_broken.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_diary.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_diff.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_diffdetail.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_listdetail.bs"/>
|
||||
<class name="/com/unicenta/reports/labels_barcode_sheet.bs"/>
|
||||
<class name="/com/unicenta/reports/labels_barcode_shelfedge.bs"/> <class name="/com/unicenta/reports/productscatalog.bs"/>
|
||||
<class name="/com/unicenta/reports/labels_product.bs"/>
|
||||
<class name="/com/unicenta/reports/products.bs"/>
|
||||
<class name="/com/unicenta/reports/salecatalog.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuSalesManagement"/>
|
||||
<class name="/com/unicenta/reports/sales_cashflow.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_cashregisterlog.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_categorysales.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_categorysales_1.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_closedpos.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_closedpos_1.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_closedproducts.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_closedproducts_1.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_extendedcashregisterlog.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_extproducts.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_payments.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_productsalesprofit.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_saletaxes.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_taxcatsales.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_taxes.bs"/>
|
||||
|
||||
<class name="/com/unicenta/reports/sales_chart_piesalescat.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_chart_productsales.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_chart_sales.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_chart_timeseriesproduct.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_chart_top10.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuMaintenance"/>
|
||||
<class name="com.unicenta.pos.admin.PeoplePanel"/>
|
||||
<class name="com.unicenta.pos.admin.ResourcesPanel"/>
|
||||
<class name="com.unicenta.pos.admin.RolesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.LocationsPanel"/>
|
||||
<class name="com.unicenta.pos.mant.JPanelFloors"/>
|
||||
<class name="com.unicenta.pos.mant.JPanelPlaces"/>
|
||||
<class name="com.unicenta.pos.voucher.VoucherPanel"/>
|
||||
<class name="/com/unicenta/reports/customers_vouchers.bs"/>
|
||||
<class name="/com/unicenta/reports/users.bs"/>
|
||||
<class name="/com/unicenta/reports/users_nosales.bs"/>
|
||||
<class name="/com/unicenta/reports/users_sales.bs"/>
|
||||
<class name="/com/unicenta/reports/users_tips.bs"/>
|
||||
<class name="/com/unicenta/reports/users_voids.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.imports.JPanelCSV"/>
|
||||
<class name="com.unicenta.pos.imports.CustomerCSVImport"/>
|
||||
<class name="com.unicenta.pos.imports.JPanelCSVCleardb"/>
|
||||
<class name="com.unicenta.pos.imports.JPanelCSVImport"/>
|
||||
<class name="com.unicenta.pos.imports.StockQtyImport"/>
|
||||
<class name="com.unicenta.pos.transfer.Transfer"/>
|
||||
<class name="/com/unicenta/reports/tools_invalidcategory.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_invaliddata.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_inventoryqtyupdate.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_missingdata.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_newproducts.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_updatedprices.bs"/>
|
||||
// <class name="/com/unicenta/reports/tools_badprice.bs"/>
|
||||
|
||||
<!-- EPM -->
|
||||
<class name="com.unicenta.pos.forms.MenuEmployees" />
|
||||
<class name="com.unicenta.pos.epm.BreaksPanel" />
|
||||
<class name="com.unicenta.pos.epm.JPanelEmployeePresence" />
|
||||
<class name="com.unicenta.pos.epm.LeavesPanel" />
|
||||
<class name="/com/unicenta/reports/epm_dailypresence.bs" />
|
||||
<class name="/com/unicenta/reports/epm_dailyschedule.bs" />
|
||||
<class name="/com/unicenta/reports/epm_performance.bs" />
|
||||
|
||||
<!-- <class name="com.unicenta.possync.ProductsSyncCreate"/> -->
|
||||
<!-- <class name="com.unicenta.possync.OrdersSyncCreate"/> -->
|
||||
<class name="Menu.ChangePassword"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelPrinter"/>
|
||||
<class name="com.unicenta.pos.config.JPanelConfiguration"/>
|
||||
|
||||
</permissions>
|
||||
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS.
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--
|
||||
The Administrator Role Permissions has full access to all uniCenta oPOS
|
||||
functionality.
|
||||
The Administrator Role should only be used to make system changes.
|
||||
|
||||
*** Do not change unless you know what you are doing ***
|
||||
-->
|
||||
|
||||
|
||||
<permissions>
|
||||
<class name="com.unicenta.pos.customers.CustomersPayment"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelPayments"/>
|
||||
<class name="com.unicenta.pos.sales.JPanelTicketEdits"/>
|
||||
<class name="com.unicenta.pos.sales.JPanelTicketSales"/>
|
||||
|
||||
<class name="payment.cash"/>
|
||||
<class name="payment.cheque"/>
|
||||
<class name="payment.debt"/>
|
||||
<class name="payment.free"/>
|
||||
<class name="payment.magcard"/>
|
||||
<class name="payment.slip"/>
|
||||
<class name="payment.voucher"/>
|
||||
<class name="sales.DeleteLines"/>
|
||||
<class name="sales.EditLines"/>
|
||||
<class name="sales.EditTicket"/>
|
||||
<class name="sales.PrintRemote"/>
|
||||
<class name="sales.PrintTicket"/>
|
||||
<class name="sales.Total"/>
|
||||
<class name="sales.ViewSharedTicket"/>
|
||||
|
||||
<!-- Standard button scripts -->
|
||||
<class name="button.opendrawer"/>
|
||||
<class name="button.print"/>
|
||||
<class name="button.Totaldiscount"/>
|
||||
|
||||
<!-- Additional button scripts -->
|
||||
<class name="button.keyboard"/>
|
||||
<class name="button.Linediscount"/>
|
||||
<class name="button.scharge"/>
|
||||
<class name="button.sendorder"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuCustomers"/>
|
||||
<class name="com.unicenta.pos.customers.CustomersPanel"/>
|
||||
<class name="/com/unicenta/reports/customers.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_cards.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuSuppliers"/>
|
||||
<class name="com.unicenta.pos.suppliers.SuppliersPanel"/>
|
||||
<class name="/com/unicenta/reports/suppliers.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuMaintenance"/>
|
||||
<class name="com.unicenta.pos.voucher.VoucherPanel"/>
|
||||
|
||||
<!-- EPM -->
|
||||
<class name="com.unicenta.pos.forms.MenuEmployees" />
|
||||
<class name="Menu.ChangePassword"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelPrinter"/>
|
||||
<class name="com.unicenta.pos.config.JPanelConfiguration"/>
|
||||
|
||||
</permissions>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<permissions>
|
||||
<class name="com.unicenta.pos.sales.JPanelTicketSales"/>
|
||||
<class name="button.keyboard"/>
|
||||
</permissions>
|
||||
@@ -0,0 +1,198 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS.
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--
|
||||
The Administrator Role Permissions has full access to all uniCenta oPOS
|
||||
functionality.
|
||||
The Administrator Role should only be used to make system changes.
|
||||
|
||||
*** Do not change unless you know what you are doing ***
|
||||
-->
|
||||
|
||||
|
||||
<permissions>
|
||||
<class name="com.unicenta.pos.customers.CustomersPayment"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelCloseMoney"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelCloseMoneyReprint"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelPayments"/>
|
||||
<class name="com.unicenta.pos.sales.JPanelTicketEdits"/>
|
||||
<class name="com.unicenta.pos.sales.JPanelTicketSales"/>
|
||||
|
||||
<class name="payment.bank"/>
|
||||
<class name="payment.cash"/>
|
||||
<class name="payment.cheque"/>
|
||||
<class name="payment.debt"/>
|
||||
<class name="payment.free"/>
|
||||
<class name="payment.magcard"/>
|
||||
<class name="payment.slip"/>
|
||||
<class name="payment.voucher"/>
|
||||
<class name="refund.cash"/>
|
||||
<class name="refund.cheque"/>
|
||||
<class name="refund.magcard"/>
|
||||
<class name="refund.voucher"/>
|
||||
<class name="sales.ChangeTaxOptions"/>
|
||||
<class name="sales.DeleteLines"/>
|
||||
<class name="sales.DeleteTicket"/>
|
||||
<class name="sales.EditLines"/>
|
||||
<class name="sales.EditTicket"/>
|
||||
<class name="sales.Layout"/>
|
||||
<class name="sales.Override"/>
|
||||
<class name="sales.PrintRemote"/>
|
||||
<class name="sales.PrintTicket"/>
|
||||
<class name="sales.RefundTicket"/>
|
||||
<class name="sales.ShowList"/>
|
||||
<class name="sales.Total"/>
|
||||
<class name="sales.ViewSharedTicket"/>
|
||||
|
||||
<!-- Standard button scripts -->
|
||||
<class name="button.opendrawer"/>
|
||||
<class name="button.print"/>
|
||||
<class name="button.Totaldiscount"/>
|
||||
|
||||
<!-- Additional button scripts -->
|
||||
<class name="button.keyboard"/>
|
||||
<class name="button.Linediscount"/>
|
||||
<class name="button.refundit"/>
|
||||
<class name="button.scharge"/>
|
||||
<class name="button.sendorder"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuCustomers"/>
|
||||
<class name="com.unicenta.pos.customers.CustomersPanel"/>
|
||||
<class name="/com/unicenta/reports/customers.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_cards.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_debtors.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_diary.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_export.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_list.bs"/>
|
||||
<class name="/com/unicenta/reports/customers_sales.bs"/>
|
||||
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuSuppliers"/>
|
||||
<class name="com.unicenta.pos.suppliers.SuppliersPanel"/>
|
||||
<class name="/com/unicenta/reports/suppliers.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_b.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_creditors.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_diary.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_export.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_list.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_products.bs"/>
|
||||
<class name="/com/unicenta/reports/suppliers_sales.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuStockManagement"/>
|
||||
<class name="com.unicenta.pos.inventory.AttributeSetsPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.AttributesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.AttributeUsePanel"/>
|
||||
<class name="com.unicenta.pos.inventory.AttributeValuesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.AuxiliarPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.BundlePanel"/>
|
||||
<class name="com.unicenta.pos.inventory.CategoriesPanel"/>
|
||||
|
||||
<class name="com.unicenta.pos.inventory.ProductsPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.ProductsWarehousePanel"/>
|
||||
<class name="com.unicenta.pos.inventory.StockDiaryPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.StockManagement"/>
|
||||
<class name="com.unicenta.pos.inventory.TaxCategoriesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.TaxCustCategoriesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.TaxPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.UomPanel"/>
|
||||
|
||||
<class name="/com/unicenta/reports/inventory.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_b.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_broken.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_diary.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_diff.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_diffdetail.bs"/>
|
||||
<class name="/com/unicenta/reports/inventory_listdetail.bs"/>
|
||||
<class name="/com/unicenta/reports/labels_barcode_sheet.bs"/>
|
||||
<class name="/com/unicenta/reports/labels_barcode_shelfedge.bs"/> <class name="/com/unicenta/reports/productscatalog.bs"/>
|
||||
<class name="/com/unicenta/reports/labels_product.bs"/>
|
||||
<class name="/com/unicenta/reports/products.bs"/>
|
||||
<class name="/com/unicenta/reports/salecatalog.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuSalesManagement"/>
|
||||
<class name="/com/unicenta/reports/sales_cashflow.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_cashregisterlog.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_categorysales.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_categorysales_1.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_closedpos.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_closedpos_1.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_closedproducts.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_closedproducts_1.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_extendedcashregisterlog.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_extproducts.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_payments.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_productsalesprofit.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_saletaxes.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_taxcatsales.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_taxes.bs"/>
|
||||
|
||||
<class name="/com/unicenta/reports/sales_chart_piesalescat.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_chart_productsales.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_chart_sales.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_chart_timeseriesproduct.bs"/>
|
||||
<class name="/com/unicenta/reports/sales_chart_top10.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.forms.MenuMaintenance"/>
|
||||
<class name="com.unicenta.pos.admin.PeoplePanel"/>
|
||||
<class name="com.unicenta.pos.admin.ResourcesPanel"/>
|
||||
<class name="com.unicenta.pos.admin.RolesPanel"/>
|
||||
<class name="com.unicenta.pos.inventory.LocationsPanel"/>
|
||||
<class name="com.unicenta.pos.mant.JPanelFloors"/>
|
||||
<class name="com.unicenta.pos.mant.JPanelPlaces"/>
|
||||
<class name="com.unicenta.pos.voucher.VoucherPanel"/>
|
||||
<class name="/com/unicenta/reports/customers_vouchers.bs"/>
|
||||
<class name="/com/unicenta/reports/users.bs"/>
|
||||
<class name="/com/unicenta/reports/users_nosales.bs"/>
|
||||
<class name="/com/unicenta/reports/users_sales.bs"/>
|
||||
<class name="/com/unicenta/reports/users_tips.bs"/>
|
||||
<class name="/com/unicenta/reports/users_voids.bs"/>
|
||||
|
||||
<class name="com.unicenta.pos.imports.JPanelCSV"/>
|
||||
<class name="com.unicenta.pos.imports.CustomerCSVImport"/>
|
||||
<class name="com.unicenta.pos.imports.JPanelCSVCleardb"/>
|
||||
<class name="com.unicenta.pos.imports.JPanelCSVImport"/>
|
||||
<class name="com.unicenta.pos.imports.StockQtyImport"/>
|
||||
<class name="com.unicenta.pos.transfer.Transfer"/>
|
||||
<class name="/com/unicenta/reports/tools_invalidcategory.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_invaliddata.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_inventoryqtyupdate.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_missingdata.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_newproducts.bs"/>
|
||||
<class name="/com/unicenta/reports/tools_updatedprices.bs"/>
|
||||
// <class name="/com/unicenta/reports/tools_badprice.bs"/>
|
||||
|
||||
<!-- EPM -->
|
||||
<class name="com.unicenta.pos.forms.MenuEmployees" />
|
||||
<class name="com.unicenta.pos.epm.BreaksPanel" />
|
||||
<class name="com.unicenta.pos.epm.JPanelEmployeePresence" />
|
||||
<class name="com.unicenta.pos.epm.LeavesPanel" />
|
||||
<class name="/com/unicenta/reports/epm_dailypresence.bs" />
|
||||
<class name="/com/unicenta/reports/epm_dailyschedule.bs" />
|
||||
<class name="/com/unicenta/reports/epm_performance.bs" />
|
||||
|
||||
<!-- <class name="com.unicenta.possync.ProductsSyncCreate"/> -->
|
||||
<!-- <class name="com.unicenta.possync.OrdersSyncCreate"/> -->
|
||||
<class name="Menu.ChangePassword"/>
|
||||
<class name="com.unicenta.pos.panels.JPanelPrinter"/>
|
||||
<class name="com.unicenta.pos.config.JPanelConfiguration"/>
|
||||
|
||||
</permissions>
|
||||
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!-- To ENABLE a feature remove the beginning and end of line commentors -->
|
||||
<!-- To DISABLE a feature you must add the beginning and of line commentors -->
|
||||
|
||||
<configuration>
|
||||
<!-- Sales Ticket Button Bar - Show icons **************************************** -->
|
||||
|
||||
<!-- SET Sales Ticket Refund Item (Default=DISABLED) -->
|
||||
<!-- <button key="button.refundit" image="img.refundit" code="script.Refundit"/> -->
|
||||
|
||||
<!-- SET Sales Ticket ServiceCharge (Default=DISABLED) -->
|
||||
<!-- <button key="button.scharge" image="img.heart" code="script.ServiceCharge"/> -->
|
||||
|
||||
<!-- SET Sales line Note (Default=DISABLED) -->
|
||||
<!-- <button key="button.note" image="img.refundit" code="script.addlinenote"/> -->
|
||||
|
||||
<!-- SET Line or Total Discount (Default=TotalDiscount= ENABLED) -->
|
||||
<button key="button.Totaldiscount" image="img.discount" code="script.Totaldiscount"/>
|
||||
<button key="button.Linediscount" image="img.discount_b" code="script.Linediscount"/>
|
||||
|
||||
<!-- SET Waiter's name (Default=DISABLED) -->
|
||||
<!-- <button key="button.setperson" image="img.user" code="script.SetPerson"/> -->
|
||||
|
||||
<!-- SET Remote Printer (Default=DISABLED) -->
|
||||
<!-- <button key="button.sendorder" image="img.kit_print" code="script.SendOrder"/> -->
|
||||
|
||||
<!-- SET Ticket Print Preview (Default=ENABLED) -->
|
||||
<button key="button.print" image="img.ticket_print" template="Printer.TicketPreview"/>
|
||||
|
||||
<!-- SET Open Cashdrawer (Default=ENABLED) -->
|
||||
<button key="button.opendrawer" image="img.cashdrawer" template="Printer.OpenDrawer"/>
|
||||
<!-- SET Virtual Keyboard (Default=ENABLED) -->
|
||||
<button key="button.keyboard" image="img.keyboard_48" code="script.Keyboard"/>
|
||||
|
||||
<!-- END Sales Ticket Button Bar - Show icons -->
|
||||
|
||||
<!-- SET Ticket Button Bar - Text Only ****************************************************************** -->
|
||||
<!-- <button key="button.refundit" name="button.refundit" code="script.Refundit"/> -->
|
||||
<!-- <button key="button.Linediscount" name="button.Linediscount" code="script.Linediscount"/> -->
|
||||
<!-- <button key="button.Totaldiscount" name="button.Totaldiscount" code="script.Totaldiscount"/> -->
|
||||
<!-- <button key="button.setperson" name="button.setperson" code="script.SetPerson"/> -->
|
||||
<!-- <button key="button.sendorder" name="button.sendorder" code="script.SendOrder"/> -->
|
||||
<!-- <button key="button.print" titlekey="button.print" template="Printer.TicketPreview"/> -->
|
||||
<!-- <button key="button.opendrawer" titlekey="button.opendrawer" template="Printer.OpenDrawer"/> -->
|
||||
<!-- <button key="button.keyboard" titlekey="button.keyboard" template="script.Keyboard"/> -->
|
||||
<!-- END Ticket Button Bar - Text Only -->
|
||||
|
||||
<!-- SET Product Area Size ********************************************* -->
|
||||
<!-- Maximum Category height for 800x480 for PDA in Full Screen mode -->
|
||||
<!-- <cat-height value="100" /> -->
|
||||
|
||||
<!-- Maximum Category height for 800x600 -->
|
||||
<!-- <cat-height value="155" /> -->
|
||||
|
||||
<!-- Maximum Category height for 1024x768 in Full Screen mode (Default=ENABLED) -->
|
||||
<cat-height value="320" />
|
||||
|
||||
<!-- Maximum Category height for 1280x1024 in Full Screen mode -->
|
||||
<!-- <cat-height value="640" /> -->
|
||||
<!-- END Product Area Size -->
|
||||
|
||||
<!-- SET Product Button Sizes ****************************************** -->
|
||||
<!-- Small Product button size in Sales screen (Default=DISABLED) -->
|
||||
<!-- <img-width value="64"/> -->
|
||||
<!-- <img-height value="48"/> -->
|
||||
|
||||
<!-- Medium Product button size in Sales screen (Default=ENABLED) -->
|
||||
<img-width value="107"/>
|
||||
<img-height value="60"/>
|
||||
|
||||
<!-- Large Product button size in Sales screen (Default=DISABLED)-->
|
||||
<!-- <img-width value="128"/> -->
|
||||
<!-- <img-height value="96"/> -->
|
||||
<!-- END Product Button Size -->
|
||||
|
||||
<!-- Print Receipt (Default=ENABLED) -->
|
||||
<printselected value="true"/>
|
||||
|
||||
<!-- ADDITIONAL FEATURES ************************************************* -->
|
||||
<!-- SET Show Change in Cash Sale (Default=ENABLED -->
|
||||
<event key="ticket.close" code="Ticket.Close"/>
|
||||
<event key="cash.close" code="Cash.Close"/>
|
||||
|
||||
<!-- Execute your own scripts by EVENTS triggered by Sales Screen -->
|
||||
<!-- <event key="ticket.change" code="script.multibuy"/> Discount 2 different products -->
|
||||
<!-- <event key="ticket.change" code="script.YourChangeScript"/> after a ticketline is changed -->
|
||||
<!-- <event key="ticket.addline" code="script.YourAddLineScript"/> before a ticketline is added -->
|
||||
<!-- <event key="ticket.setline" code="script.YourSetLineScript"/> before an exisitng ticketline is changed -->
|
||||
<!-- <event key="ticket.removeline" code="script.YourRemoveLineScript"/> before a ticketline is deleted -->
|
||||
<!-- <event key="ticket.show" code="script.YourShowScript"/> before the receipt is shown -->
|
||||
<!-- <event key="ticket.total" code="script.YourTotalScript"/> after the equals button -->
|
||||
<!-- <event key="ticket.save" code="script.YourSaveScript"/> after payment OK button -->
|
||||
<!-- <event key="ticket.close" code="script.YourCloseScript"/> after ticket is stored in database and ticket number assigned -->
|
||||
|
||||
|
||||
<taxesincluded value="true"/>
|
||||
<taxcategoryid value="001"/>
|
||||
<pricevisible value="true" />
|
||||
|
||||
</configuration>
|
||||
@@ -0,0 +1,59 @@
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
// Ticket.Close
|
||||
// This script displays the amount of Cash Change (CashTendered - TicketValue) to be given to Customer
|
||||
|
||||
import java.awt.Font;
|
||||
import javax.swing.plaf.FontUIResource;
|
||||
import com.unicenta.pos.payment.PaymentInfo;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JDialog;
|
||||
|
||||
|
||||
boolean isCash = false;
|
||||
String change = "";
|
||||
PaymentInfo p = ticket.payments.getFirst();
|
||||
|
||||
if ("cash".equals(p.getName())) {
|
||||
isCash = true;
|
||||
change = p.printChange();
|
||||
}
|
||||
|
||||
// Get details of the original font before we change it otherwise all dialogboxes will use new settings
|
||||
JOptionPane pane = new JOptionPane();
|
||||
Font originalFont=pane.getFont();
|
||||
|
||||
UIManager.put("OptionPane.buttonFont", new FontUIResource(new Font("ARIAL",Font.PLAIN,20)));
|
||||
message = "Change: " + change;
|
||||
JLabel FontText = new JLabel(message);
|
||||
FontText.setFont (new Font ( "Arial", Font.BOLD, 36) );
|
||||
|
||||
if(isCash) {
|
||||
JOptionPane pane = new JOptionPane();
|
||||
pane.setMessage(FontText);
|
||||
pane.setPreferredSize( new Dimension(450,150));
|
||||
JDialog dialog = pane.createDialog("Cash payment");
|
||||
new Thread(new Runnable() { void run() {
|
||||
dialog.show();
|
||||
} }).start();
|
||||
}
|
||||
|
||||
// Return to default settings
|
||||
UIManager.put("OptionPane.buttonFont", new FontUIResource(new Font(originalFont.getName(),originalFont.getStyle(),originalFont.getSize())));
|
||||
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!-- This sales transaction screen is great for Retailers! -->
|
||||
<line>
|
||||
<column name="label.item" width="185" align="left" value="<html>
|
||||
#if ($ticketline.isProductCom()) <i>*&nbsp;&nbsp;
|
||||
${ticketline.printName()}</i>
|
||||
#else
|
||||
${ticketline.printName()}
|
||||
#end
|
||||
<br>${ticketline.getProductAttSetInstDesc()}"/>
|
||||
|
||||
<column name="label.price" width="50" align="right" value="${ticketline.printPrice()}"/>
|
||||
<column name="label.units" width="50" align="right" value="x${ticketline.printMultiply()}"/>
|
||||
<column name="label.tax" width="50" align="right" value="${ticketline.printTaxRate()}"/>
|
||||
<column name="label.value" width="100" align="right" value="${ticketline.printValue()}"/>
|
||||
<column name="label.printto" width="5" align="center" value="${ticketline.printPrinter()}"/>
|
||||
<!--<column name="label.sendorder" width="5" align="left" value="${ticketline.getProperty('printkb','?')}"/> -->
|
||||
<!--<column name="label.sendstatus" width="5" align="left" value="${ticketline.getProperty('sendstatus','?')}"/> -->
|
||||
</line>
|
||||
|
||||
<!-- This sales transaction screen is great for Hospitality!
|
||||
<line>
|
||||
<column name="label.item2" width="235" align="left" value="<html>
|
||||
#if ($ticketline.isProductCom())
|
||||
<i>*&nbsp;&nbsp;${ticketline.printName()}</i>
|
||||
#else
|
||||
${ticketline.printName()}
|
||||
#end
|
||||
<br>${ticketline.getProductAttSetInstDesc()}"/>
|
||||
|
||||
<column name="label.units2" width="50" align="right" value="x${ticketline.printMultiply()}"/>
|
||||
<column name="label.value2" width="100" align="right" value="${ticketline.printValue()}"/>
|
||||
<column name="label.printto" width="5" align="center" value="${ticketline.printPrinter()}"/>
|
||||
</line>
|
||||
-->
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
uniCenta oPOS - Touch friendly Point Of Sale
|
||||
Copyright (c) 2009-2018 uniCenta.
|
||||
http://sourceforge.net/projects/unicentaopos
|
||||
|
||||
This file is part of uniCenta oPOS.
|
||||
|
||||
uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<line>
|
||||
<column name="label.item" width="125" align="left" value="<html>
|
||||
#if ($ticketline.isProductCom())
|
||||
<i>*&nbsp;&nbsp;${ticketline.printName()}</i>
|
||||
#else ${ticketline.printName()}
|
||||
|
||||
#end"/>
|
||||
<column name="label.price" width="80" align="right" value="${ticketline.printPriceTax()}"/>
|
||||
<column name="label.units" width="50" align="right" value="x${ticketline.printMultiply()}"/>
|
||||
<column name="label.tax" width="100" align="right" value="${ticketline.printTaxRate()}"/>
|
||||
<column name="label.value" width="80" align="right" value="${ticketline.printValue()}"/>
|
||||
</line>
|
||||
@@ -0,0 +1 @@
|
||||
uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
@@ -0,0 +1,27 @@
|
||||
// Customer.Created
|
||||
// This script initialises the uniCenta posApps CUSTOMER CREATED
|
||||
// REST API web services
|
||||
//
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
|
||||
import uk.co.pos_apps.PosApps;
|
||||
|
||||
PosApps.createCustomer(device, customer);
|
||||
@@ -0,0 +1,27 @@
|
||||
// Customer.Deleted
|
||||
// This script initialises the uniCenta posApps CUSTOMER DELETED
|
||||
// REST API web services
|
||||
//
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
|
||||
import uk.co.pos_apps.PosApps;
|
||||
|
||||
PosApps.deleteCustomer(device, customer);
|
||||
@@ -0,0 +1,27 @@
|
||||
// Customer.Updated
|
||||
// This script initialises the uniCenta posApps CUSTOMER UPDATED
|
||||
// REST API web services
|
||||
//
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
|
||||
import uk.co.pos_apps.PosApps;
|
||||
|
||||
PosApps.updateCustomer(device, customer);
|
||||
@@ -0,0 +1,41 @@
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// *************************************************************************
|
||||
|
||||
// *************************************************************************
|
||||
// All currency payment denominations to show in Payment forms
|
||||
// You can find additional prepared currency styles in the Configs folder of
|
||||
// uniCenta oPOS install folder. Use the Import button to load
|
||||
//
|
||||
// To INCLUDE a denomination remove "//" from the line
|
||||
// To EXCLUDE a denomination add "//" to the line
|
||||
// *************************************************************************
|
||||
|
||||
payment.addButton("img.50", 50.0);
|
||||
payment.addButton("img.20", 20.0);
|
||||
payment.addButton("img.10", 10.0);
|
||||
payment.addButton("img.5", 5.0);
|
||||
payment.addButton("img.2", 2.0);
|
||||
payment.addButton("img.1", 1.00);
|
||||
payment.addButton("img.050", 0.50);
|
||||
payment.addButton("img.020", 0.20);
|
||||
payment.addButton("img.010", 0.10);
|
||||
payment.addButton("img.005", 0.05);
|
||||
payment.addButton("img.002", 0.02);
|
||||
payment.addButton("img.001", 0.01);
|
||||
@@ -0,0 +1,29 @@
|
||||
// script.Keyboard.txt
|
||||
// This script launches uniCenta Virtual Keyboard
|
||||
//
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
|
||||
Runtime runtime = Runtime.getRuntime();
|
||||
// Windows
|
||||
Process proc = runtime.getRuntime() .exec("cmd /C start osk.exe");
|
||||
|
||||
// Ubuntu
|
||||
// Process proc = runtime.getRuntime() .exec("onboard");
|
||||
@@ -0,0 +1,51 @@
|
||||
// script.Linediscount
|
||||
//
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
// This script applies UsersInput %Discount for the Item Line value
|
||||
// To use in the sales screen: Highlight the line you want to discount
|
||||
// Then Tap in the %Discount amount and touch the % button
|
||||
|
||||
import com.unicenta.format.Formats;
|
||||
import com.unicenta.pos.ticket.TicketLineInfo;
|
||||
import com.unicenta.pos.ticket.TicketProductInfo;
|
||||
|
||||
discountrate = sales.getInputValue() / 100.0;
|
||||
|
||||
index = sales.getSelectedIndex();
|
||||
if (index >= 0) {
|
||||
line = ticket.getLine(index);
|
||||
if (line.getPrice() > 0.0 && discountrate > 0.0) {
|
||||
sdiscount = Formats.PERCENT.formatValue(discountrate);
|
||||
ticket.insertLine(index + 1,
|
||||
new TicketLineInfo(
|
||||
"Line Discount " + sdiscount,
|
||||
line.getProductTaxCategoryID(),
|
||||
line.getProductPrinter(),
|
||||
line.getMultiply(),
|
||||
-(double)Math.abs(line.getNewPrice() * discountrate * 100) / 100,
|
||||
line.getTaxInfo()));
|
||||
sales.setSelectedIndex(index + 1);
|
||||
} else {
|
||||
java.awt.Toolkit.getDefaultToolkit().beep();
|
||||
}
|
||||
} else {
|
||||
java.awt.Toolkit.getDefaultToolkit().beep();
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
// script.SendOrder
|
||||
// Sends an item in a Sale to a remote Printers
|
||||
//
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
|
||||
private boolean printedP1 = false;
|
||||
private boolean printedP2 = false;
|
||||
private boolean printedP3 = false;
|
||||
private boolean printedP4 = false;
|
||||
private boolean printedP5 = false;
|
||||
private boolean printedP6 = false;
|
||||
|
||||
for(int i= 0; i < ticket.getLinesCount(); i++){
|
||||
line = ticket.getLine(i);
|
||||
|
||||
if (line.getProperty("product.printer")!=null) {
|
||||
|
||||
if (line.getProperty("product.printer").equals("1")) {
|
||||
if((printedP1 == false) && line.getProperty("ticket.updated").equals("true")) {
|
||||
sales.printTicket("Printer.Ticket.P1");
|
||||
printedP1 = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (line.getProperty("product.printer").equals("2")) {
|
||||
if((printedP2 == false) && line.getProperty("ticket.updated").equals("true")){
|
||||
sales.printTicket("Printer.Ticket.P2");
|
||||
printedP2 = true;
|
||||
}
|
||||
}
|
||||
if (line.getProperty("product.printer").equals("3")) {
|
||||
if((printedP3 == false) && line.getProperty("ticket.updated").equals("true")){
|
||||
sales.printTicket("Printer.Ticket.P3");
|
||||
printedP3 = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (line.getProperty("product.printer").equals("4")) {
|
||||
if((printedP4 == false) && line.getProperty("ticket.updated").equals("true")){
|
||||
sales.printTicket("Printer.Ticket.P4");
|
||||
printedP4 = true;
|
||||
}
|
||||
}
|
||||
if (line.getProperty("product.printer").equals("5")) {
|
||||
if((printedP5 == false) && line.getProperty("ticket.updated").equals("true")){
|
||||
sales.printTicket("Printer.Ticket.P5");
|
||||
printedP5 = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (line.getProperty("product.printer").equals("6")) {
|
||||
if((printedP6 == false) && line.getProperty("ticket.updated").equals("true")){
|
||||
sales.printTicket("Printer.Ticket.P6");
|
||||
printedP6 = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
// script.Totaldiscount
|
||||
//
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta
|
||||
// http://sourceforge.net/projects/unicentaopos
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
// This script applies UsersInput %Discount for the Total Ticket
|
||||
// each Line value is recalculated and annotated
|
||||
// To use in the sales screen: Highlight the line you want to discount
|
||||
// Then Tap in the %Discount amount and touch the % button
|
||||
|
||||
import com.unicenta.format.Formats;
|
||||
import com.unicenta.pos.ticket.TicketLineInfo;
|
||||
import com.unicenta.pos.ticket.TicketProductInfo;
|
||||
|
||||
discountrate = sales.getInputValue() / 100.0;
|
||||
|
||||
index = sales.getSelectedIndex();
|
||||
if (index >= 0) {
|
||||
if (ticket.getTotal() > 0.0 && discountrate > 0.0) {
|
||||
sdiscount = Formats.PERCENT.formatValue((discountrate));
|
||||
for (int number= 0; number < ticket.getLinesCount(); number++) {
|
||||
line = ticket.getLine(number);
|
||||
ticket.setLine(number,
|
||||
new TicketLineInfo(
|
||||
line.getProductID(),
|
||||
line.getProductName() + " - Item Discount @ " + sdiscount,
|
||||
line.getProductTaxCategoryID(),
|
||||
line.getProductPrinter(),
|
||||
line.getMultiply(),
|
||||
line.getNewPrice() - (double)Math.abs(line.getNewPrice() * discountrate * 100) /100,
|
||||
line.getTaxInfo()));
|
||||
}
|
||||
} else {
|
||||
java.awt.Toolkit.getDefaultToolkit().beep();
|
||||
}
|
||||
} else {
|
||||
java.awt.Toolkit.getDefaultToolkit().beep();
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright © 2009-2020 uniCenta
|
||||
//
|
||||
// This file is part of uniCenta oPOS.
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
// **************************************************************************
|
||||
|
||||
import com.unicenta.pos.ticket.TicketLineInfo;
|
||||
|
||||
index = sales.getSelectedIndex();
|
||||
if (index != -1)
|
||||
|
||||
{
|
||||
line = ticket.getLine(index);
|
||||
int count = Integer.parseInt(line.getProperty("COUNT", "0"));
|
||||
Double newPrice1 = new Double(line.getProperty("PRICE", "0"));
|
||||
String groupName = line.getProperty("GROUP", "0");
|
||||
if (count > 0) {
|
||||
int productCount = 0;
|
||||
int discountsAlreadyApplied = 0;
|
||||
String productID = line.getProductID();
|
||||
|
||||
for (TicketLineInfo ticketLine: ticket.getLines()) {
|
||||
boolean grouped = groupName.equals(ticketLine.getProperty("GROUP", "0"));
|
||||
boolean multi = count > 0;
|
||||
if (multi && grouped) {
|
||||
productCount++;
|
||||
}
|
||||
if (ticketLine.getProductName().contains("Buy")) {
|
||||
discountsAlreadyApplied = discountsAlreadyApplied + count;
|
||||
}
|
||||
}
|
||||
|
||||
if (count == (productCount - discountsAlreadyApplied)) {
|
||||
|
||||
newPrice2 = -(line.getPriceTax() * count) + newPrice1;
|
||||
|
||||
|
||||
ticket.insertLine(ticket.getLinesCount(),
|
||||
new TicketLineInfo(
|
||||
"Buy " + count + " for £" + (line.getProperty("PRICE")),ox
|
||||
line.getProductTaxCategoryID(),
|
||||
"",
|
||||
1,
|
||||
0,
|
||||
line.getTaxInfo()));
|
||||
|
||||
|
||||
sales.setSelectedIndex(ticket.getLinesCount() - 1);
|
||||
index = sales.getSelectedIndex();
|
||||
line = ticket.getLine(index);
|
||||
line.setPriceTax(newPrice2);
|
||||
sales.setSelectedIndex(ticket.getLinesCount() - 2);
|
||||
|
||||
|
||||
|
||||
/* Remove BOGO property to start fresh */
|
||||
for (i = 0; i < ticket.getLinesCount(); i++) {
|
||||
if (productID.equals(ticket.getLine(i).getProductID())) {
|
||||
ticket.getLine(i).setProperty("COUNT", "0");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sales.setSelectedIndex(ticket.getLinesCount() - 1);
|
||||
}
|
||||
}
|
||||
//END MULTI BUY
|
||||
@@ -0,0 +1,208 @@
|
||||
#set ( $leftm= " " ) ## Uses spaces to set the LEFT margin - 10 is default for A4
|
||||
#set ( $len= 'length="130"' ) ## Sets the line LENGTH - 130 is default for A4
|
||||
|
||||
<ticket>
|
||||
<image>Printer.Ticket.Logo</image>
|
||||
<line size="1"><text align="center" $len>$leftm Printer.TicketPreview_A4</text></line>
|
||||
<line></line>
|
||||
|
||||
<line>
|
||||
#if (${ticket.ticketType} == 0)
|
||||
<text align="left" length="40">$leftm Receipt: ${ticket.printId()}</text>
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<text align="right" length="90">$leftm ${ticket.printTicketHeaderLine1()}</text>
|
||||
#end
|
||||
#end
|
||||
#if (${ticket.ticketType} == 1)
|
||||
<text align="left" length="40">$leftm Refund: ${ticket.printId()}</text>
|
||||
#if (${ticket.printTicketHeaderLine1()} != "")
|
||||
<text align="right" length="90">$leftm ${ticket.printTicketHeaderLine1()}</text>
|
||||
#end
|
||||
#end
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="20">$leftm Date: </text><text length="20">${ticket.printDate()}</text>
|
||||
#if (${ticket.printTicketHeaderLine2()} != "")
|
||||
<text align="right" length="90">$leftm ${ticket.printTicketHeaderLine2()}</text>
|
||||
#end
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="20">$leftm Terminal: </text><text length="20">${ticket.getHost()}</text>
|
||||
#if (${ticket.printTicketHeaderLine3()} != "")
|
||||
<text align="right" length="90">$leftm ${ticket.printTicketHeaderLine3()}</text>
|
||||
#end
|
||||
</line>
|
||||
<line>
|
||||
<text align="left" length="20">$leftm Server: </text><text length="20">${ticket.printUser()}</text>
|
||||
#if (${ticket.printTicketHeaderLine4()} != "")
|
||||
<text align="right" length="90">${ticket.printTicketHeaderLine4()}</text>
|
||||
#end
|
||||
</line>
|
||||
<line>
|
||||
#if (${tickettext.place} != ${place})
|
||||
<text align="left" length="20">$leftm Table:</text><text length="20">${place}</text>
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<text align="right" length="90">${ticket.printTicketHeaderLine5()}</text>
|
||||
#end
|
||||
#else
|
||||
#if (${ticket.printTicketHeaderLine5()} != "")
|
||||
<text align="right" $len>${ticket.printTicketHeaderLine5()}</text>
|
||||
#end
|
||||
#end
|
||||
</line>
|
||||
<line>
|
||||
#if (${ticket.printTicketHeaderLine6()} != "")
|
||||
<text align="right" $len>${ticket.printTicketHeaderLine6()}</text>
|
||||
#end
|
||||
</line>
|
||||
|
||||
#if ($ticket.getCustomer())
|
||||
<line><text align="left">$leftm Account #: </text><text>${ticket.getCustomer().printTaxCustomerID()}</text></line>
|
||||
<line><text align="left">$leftm Customer: </text><text>${ticket.getCustomer().printName()}</text></line>
|
||||
<line><text align="left">$leftm Address: </text><text>${ticket.getCustomer().printAddress()}</text></line>
|
||||
<line><text align="left">$leftm Postal: </text><text>${ticket.getCustomer().printPostal()}</text></line>
|
||||
<line><text align="left">$leftm Phone: </text><text>${ticket.getCustomer().printPhone1()}</text></line>
|
||||
<line><text align="left">$leftm Current Debt: </text><text>${ticket.getCustomer().printCurDebt()}</text></line>
|
||||
#end
|
||||
|
||||
<line></line>
|
||||
<line><text align="left" $len>$leftm ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────</text></line>
|
||||
<line>
|
||||
<text align ="left" length="20" bold="true">$leftm REFERENCE</text>
|
||||
<text align ="left" length="74" bold="true">$leftm ITEM</text>
|
||||
<text align ="right" length="10" bold="true">PRICE</text>
|
||||
<text align ="right" length="10" bold="true">QTY</text>
|
||||
<text align ="right" bold="true">$leftm VALUE</text>
|
||||
</line>
|
||||
<line><text align="left" $len>$leftm ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────</text></line>
|
||||
|
||||
#foreach ($ticketline in $ticket.getLines())
|
||||
<line>
|
||||
#if ($ticketline.isProductCom())
|
||||
<text align ="left" length="20">$leftm ★${ticketline.printReference()}</text>
|
||||
<text align ="left" length="74">$leftm ${ticketline.printName()}</text>
|
||||
#else
|
||||
<text align ="left" length="20">$leftm ${ticketline.printReference()}</text>
|
||||
<text align ="left" length="74">$leftm ${ticketline.printName()}</text>
|
||||
#end
|
||||
|
||||
<text align ="right" length="11">${ticketline.printPriceTax()}</text>
|
||||
<text align ="right" length="10">${ticketline.printMultiply()}</text>
|
||||
<text align ="right" length="15">${ticketline.printValue()}</text>
|
||||
</line>
|
||||
|
||||
#if ($ticketline.productAttSetInstId)
|
||||
<line><text align ="left" length="74">$leftm $leftm ★★ ${ticketline.productAttSetInstDesc}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
<line><text align="left" $len>$leftm ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────</text></line>
|
||||
<line><text>$leftm Items count: </text><text align ="left" length="15">${ticket.printArticlesCount()}</text></line>
|
||||
<line></line>
|
||||
<line>
|
||||
<text align="right" length="115">$leftm Subtotal</text>
|
||||
<text align ="right" length="15">${ticket.printSubTotal()}</text>
|
||||
</line>
|
||||
<line>
|
||||
<text align ="right" length="115">$leftm Tax</text>
|
||||
<text align ="right" length="15">${ticket.printTax()}</text>
|
||||
</line>
|
||||
<line><text align="right" $len>$leftm ───────────────</text></line>
|
||||
<line></line>
|
||||
<line size="1">
|
||||
<text align ="right" length="115" bold="true">$leftm Balance Due</text>
|
||||
<text align ="right" length="15" bold="true">${ticket.printTotal()}</text>
|
||||
</line>
|
||||
<line><text align="right" $len>$leftm ═══════════════</text></line>
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "cash")
|
||||
<line><text bold="true">$leftm Cash</text></line>
|
||||
<line><text align="left" length="22">$leftm Tendered:</text><text align ="right" length="20">${paymentline.printPaid()}</text></line>
|
||||
<line><text align="left" length="22">$leftm Change:</text><text align ="right" length="20">${paymentline.printChange()}</text></line>
|
||||
#end
|
||||
|
||||
#if ($paymentline.name == "cashrefund")
|
||||
<line><text align="left" length="22" bold="true">$leftm Refund</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "cheque")
|
||||
<line><text align="left" length="22" bold="true">$leftm Cheque</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "chequerefund")
|
||||
<line><text align="left" length="22" bold="true">$leftm Cheque Refund</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherin")
|
||||
<line><text align="left" length="22" bold="true">$leftm Voucher</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "voucherout")
|
||||
<line><text align="left" length="22" bold="true">$leftm Note Refund</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "slip")
|
||||
<line><text align="left" length="22" bold="true">$leftm Slip</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "free")
|
||||
<line><text align="left" length="22" bold="true">$leftm Free</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($paymentline.name == "debt")
|
||||
<line><text align="left" length="22" bold="true">$leftm On Account</text><text align ="right" length="20">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
|
||||
#if (${ticket.printTicketFooterLine1()} != "")
|
||||
<line></line>
|
||||
<line><text align="center" $len>$leftm ${ticket.printTicketFooterLine1()}</text></line>
|
||||
<line><text align="left" $len>$leftm ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine2()} != "")
|
||||
<line><text>$leftm ${ticket.printTicketFooterLine2()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine3()} != "")
|
||||
<line><text>$leftm ${ticket.printTicketFooterLine3()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine4()} != "")
|
||||
<line><text>$leftm ${ticket.printTicketFooterLine4()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine5()} != "")
|
||||
<line><text>$leftm ${ticket.printTicketFooterLine5()}</text></line>
|
||||
#end
|
||||
#if (${ticket.printTicketFooterLine6()} != "")
|
||||
<line><text>$leftm ${ticket.printTicketFooterLine6()}</text></line>
|
||||
#end
|
||||
<line></line>
|
||||
|
||||
#foreach ($paymentline in $ticket.payments)
|
||||
#if ($paymentline.name == "ccard")
|
||||
#if ($paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" $len bold="true">$leftm CARD SALE</text></line>
|
||||
<line><text align = "center" $len bold="true">$leftm A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left">$leftm AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if (!$paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" $len bold="true">$leftm CARD SALE</text></line>
|
||||
<line><text align = "center" $len bold="true">$leftm A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left">$leftm AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#if ($ticket.hasTip())
|
||||
<line><text align ="left">$leftm Tip: </text><text align ="right" length="26">_______________</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" bold="false">$leftm Total </text><text align ="right" length="26" bold="false">_______________</text></line>
|
||||
<line></line>
|
||||
<line></line>
|
||||
<line size="1"><text align ="left" bold="false">$leftm __________________________________________</text></line>
|
||||
<line size="1"><text align ="center" bold="false">$leftm Signature</text></line>
|
||||
#else
|
||||
<line size="1"><text align ="left" bold="true">$leftm Total</text><text align ="right" length="26" bold="true">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
#if ($paymentline.name == "ccardrefund")
|
||||
<line size="1"><text align="center" $len bold="true">$leftm CARD SALE</text></line>
|
||||
<line></line>
|
||||
<line><text align = "center" $len bold="true">$leftm A card payment was received</text></line>
|
||||
<line></line>
|
||||
<line size="1"><text align="left">$leftm AMOUNT</text><text align ="right" length="32">${paymentline.printTotal()}</text></line>
|
||||
#end
|
||||
#end
|
||||
</ticket>
|
||||
Binary file not shown.
Reference in New Issue
Block a user