View source | View content page | Page history | Printable version   
Toolbox
Main Page
Upload file
What links here
Recent changes
Help

PDF Books
Show collection (0 pages)
Collections help

Search

Projects:POS/Administrator Guide

Projects:POS

Index


Contents

Managing authentication and authorization

Editing roles and permissions

Go to Maintenance under Administration and Select Roles.

For editing the permissions you would have to create a new role and edit the permissions in there. The format used is an XML file which describes the forms to which the role has permission to access.

By default the administrator role has access to all the application, which can serve as base for new roles.

This is the application's list of options you can grant access to roles:

Sales panels

   <class name="com.openbravo.pos.sales.JPanelTicketSales"/>
   <class name="com.openbravo.pos.sales.JPanelTicketEdits"/>
   <class name="com.openbravo.pos.customers.CustomersPayment"/>
   <class name="com.openbravo.pos.panels.JPanelPayments"/>
   <class name="com.openbravo.pos.panels.JPanelCloseMoney"/>
   <class name="/com/openbravo/reports/closedpos.bs"/>

Sales panel buttons

   <class name="button.print"/>
   <class name="button.opendrawer"/>

Payment methods

   <class name="payment.cash"/>
   <class name="payment.cheque"/>
   <class name="payment.paper"/>
   <class name="payment.magcard"/>
   <class name="payment.free"/>
   <class name="payment.debt"/>
   <class name="refund.cash"/>
   <class name="refund.cheque"/>
   <class name="refund.paper"/>
   <class name="refund.magcard"/>

Customer panels

<class name="com.openbravo.pos.forms.MenuCustomers"/>
<class name="com.openbravo.pos.customers.CustomersPanel"/>
<class name="/com/openbravo/reports/customers.bs"/>
<class name="/com/openbravo/reports/customersb.bs"/>

Stock management panels

<class name="com.openbravo.pos.forms.MenuStockManagement"/>
<class name="com.openbravo.pos.inventory.ProductsPanel"/>
<class name="com.openbravo.pos.inventory.ProductsWarehousePanel"/>
<class name="com.openbravo.pos.inventory.CategoriesPanel"/>
<class name="com.openbravo.pos.panels.JPanelTax"/>
<class name="com.openbravo.pos.inventory.StockDiaryPanel"/>
<class name="com.openbravo.pos.inventory.StockManagement"/>
<class name="/com/openbravo/reports/products.bs"/>     
<class name="/com/openbravo/reports/productlabels.bs"/>     
<class name="/com/openbravo/reports/productscatalog.bs"/>
<class name="/com/openbravo/reports/inventory.bs"/>
<class name="/com/openbravo/reports/inventoryb.bs"/>
<class name="/com/openbravo/reports/inventorybroken.bs"/>
<class name="/com/openbravo/reports/inventorydiff.bs"/>

Sales management panels

<class name="com.openbravo.pos.forms.MenuSalesManagement"/>
<class name="/com/openbravo/reports/usersales.bs"/>
<class name="/com/openbravo/reports/closedproducts.bs"/>
<class name="/com/openbravo/reports/taxes.bs"/>
<class name="/com/openbravo/reports/chartsales.bs"/>  
<class name="/com/openbravo/reports/productsales.bs"/> 

Maintenance panels

<class name="com.openbravo.pos.forms.MenuMaintenance"/>
<class name="com.openbravo.pos.admin.PeoplePanel"/>
<class name="com.openbravo.pos.admin.RolesPanel"/>
<class name="com.openbravo.pos.admin.ResourcesPanel"/>
<class name="com.openbravo.pos.inventory.LocationsPanel"/>
<class name="com.openbravo.pos.mant.JPanelFloors"/>
<class name="com.openbravo.pos.mant.JPanelPlaces"/>
<class name="/com/openbravo/reports/people.bs"/>
<class name="com.openbravo.possync.ProductsSyncCreate"/>
<class name="com.openbravo.possync.OrdersSyncCreate"/>
<class name="Menu.ChangePassword"/>
<class name="com.openbravo.pos.panels.JPanelPrinter"/>
<class name="com.openbravo.pos.config.JPanelConfiguration"/>

Users

Go to Maintenance under Administration and Select Users.

To create a new user click on the button new. Type the name under Name, and then select their role. You want them to be visible, so leave that alone.


Setting up the stock

Taxes

Go to Stock under Administration and Select Taxes.

Here you can set up tax bands that will later be associated with products. This allows taxation calculations to be performed automatically.

To create a new tax band click on the button new, edit the name and set the rate value. After you are done, save using the save button.

Categories

Go to Stock under Administration and Select Categories.

Managing the catalog consists of setting up categories and adding products to those categories. Note that products must belong to one category.

You will notice that the interface is very much alike to that of the taxes screen. Here you can define several categories under which you can fit your products.

Categories are organized hierarchically. Edit the parent category of the category you are editing selecting it in the drop down list Category.

Optionally you can add a picture for each category editing the Image field. To do this press the button with the folder, browse your files and select the desired image.

You can also add all the products that belong to one category pressing the button Add to catalog and also remove all of them pressing the button Remove from catalog.

Products

Go to Stock under Administration and Select Products.

The barcode field is the value that will be used to search products when using the barcode reader.

You must set the buy price and the sell price. This can be done just writing the selected sell price with or without taxes included, or editing the desired percent margin per unit.

Note that every product must belong to one category and must have its tax band.

Optionally you can add a picture for each product editing the Image field. To do this press the button with the folder, browse your files and select the desired image.

In the tab Stock you can edit the Stock cost by year and Stock volume values for report purposes.

In the tab Properties you can select if the product must be visible in the catalog panel of the sales panel, if it is an auxiliary product and if it is a product that is sold by weight.

Warehouse

Currently setting then warehouse from which inventory items will be taken for sale is awkward, you have to go to your database, look for rows in table locations and write down the value for the id column of the warehouse, then get in OpenBravo as Administrator, go to Maintenance->Resources->(station)\properties (where station is the machine name or hostname of the cash you are configuring) and edit the resource, so that the xml element location's content is the id you write down before. This should be done for each cash and reinit OpenBravo to see the effect.

Change the default receipt layout

Edit the receipt

In Openbravo POS much of the advanced configuration is managed from the resources panel rather than with a GUI. Such is the case for the receipts

To change the default ticket you must go to the Resources panel and edit the resource with the name Printer.Ticket. For the ticket layout printed from the Sales screen print button as specified in Ticket.Buttons, edit Printer.TicketPreview

Openbravo POS uses Apache Velocity to parse the XML templates. The reference to Velocity contains further information for the syntax used.

Logic

The resources are used at various times during the print process. This is the default behavior in 2.30, but it can be amended.

Output to the pole display is mixed in with the Printer resources, so can be a bit confusing at first.

So listing these in the order you might use them in your workflow for a printer


Logic for a customer display screen or panel, with <display> nodes in these resources.


Other reports that print to the receipt printer, and are defined with resources, but are not related to the sales logic flow

Serial Control

If the serial port /dev/ttyS0 is locked by another program (minicom, apcupsd, another instance of Openbravo) the receipt will not print, and no warning is posted to the user.

Variables

In the receipt there are available all of the public methods of the com.openbravo.pos.ticket.TicketInfo class in the $ticket variable.

printId()
printDate()
printUser()
printCustomer()
printArticlesCount()
printSubTotal()
printTax()
printTotal()
printTotalPaid()

The public methods of the com.openbravo.pos.ticket.TicketLineInfo class populates the $ticketlines variable. Download the current source from the forge area for more detail on what each property returns.

printName() 
printMultiply()
printPrice()
printPriceTax()
printTax()
printTaxRate()
printSubValue()
printValue()

The public methods of the com.openbravo.pos.payment.PaymentInfo class populates the $paymentline variable, but you must iterate all the payment lines.

#foreach ($paymentline in $ticket.payments)
  name
  printPaid()
  printChange()
  printTotal()
  #if ($paymentline.name == "magcard")
    printCardNumber()
    printExpirationDate()
    printTransactionID()
    paymentline.printAuthorization()
  #end
#end

Language

Openbravo POS defines a new language based on XML to print receipts and set a customer display that is independent of the model of printer used. This language supports one customer display and several printers.

Ticket

Ticket prints a receipt. When it finishes, it cuts the paper off. Ticket can contains a printer attribute which sets the printer.

<ticket printer="2"> ... </ticket> - printer 2 will print the receipt.

Hint: When testing your layout, put a version tag in one of your static text lines, and increment it each time you make a change, otherwise you can loose track of which piece of paper just came out of the printer.

Multiple Original Copies

To print multiple copies of a receipt, simply repeat the entire ticket node.

You might choose to make slight variations to the second (or third) copies, adding text like 'till copy' or 'pickup copy'.

Put a comment at the start of the first ticket to remind maintainers that there are multiple copies, so they replicate any future changes downwards.

For example

<ticket>
  <line></line>
  :
</ticket>
<ticket>
  <line><text>Pickup Copy</text></line>
  :
</ticket>
<ticket>
  <line><text>Till Copy</text></line>
  :
</ticket>


Elements

The following elements can be used in ticket nodes

<line>
<text>
<image>
<barcode>
<opendrawer/>


Line

This sets a text line in a receipt. It can contain a parameter size setting the size of the text. Possible values are:

0 - Normal size (by default)
1 - Double height
2 - Double weight
3 - Double height and weight
<line size=3> ... </line>

Between line tags to print text <text> tag is required. The text tag can contain the following parameters:

align - defines the alignment of the text string. The available values are
left - align text to the left. The default value.
right - align text to the right.
center - sets the text in the center.
length - defines the length in characters used to fit the text strings.
bold - defines whether if the text is bold or not. By default false.
underline - defines whether if the text is underlined or not. By default false
<text align ="right" length="10" underline="true">Some text</text>

Note that the alignment attribute applies to the text tag, not the line tag. That means the alignment is within the text box, not across the whole line. For center alignment across the whole line, set the text length to the full number of columns on the line, and specify align="center".

References to the ticket or ticketline variables public properties can be displayed inline with the ${ } variable substitution construct. For example, to display the line item unit price including taxes

${ticketline.printPriceTax()}
Image

An image in the receipt. It contains the resource name that contains the image file. The image is converted to B/W before sending it to the printer.

<image>Your image</image>
Barcode

A barcode. It contains a number of the barcode in EAN-13 format.

<barcode>the number</barcode>
Opendrawer

Opens the cash drawer attached to the receipt printer.

<opendrawer/>


The default ticket template can serve as a good starting point.

Paper Length

The paper width and length settings are adjusted from a different location, not from the Resources panel.

In openbravopos.properties file (edit with a text editor like nano), locate these entries

paper.receipt.x = ### paper.receipt.y = ###

Amend them to suit.

Display
Line

A text line in the display. Between line tags to display text <text> tag is required. The text tag can contain the following parameters:

align - defines the alignment of the text string. The available values are
left - align text to the left. The default value.
right - align text to the right.
center - sets the text in the center.
length - defines the length in characters used to fit the text strings.

Editing the image

The default image can be changed editing the resource Printer.Ticket.Logo The image types supported vary by printer. Most thermal printers support them, and most dot-matrix ones don't. The image must be 256 px wide at most.

To remove the image from the ticket you have to edit the Printer.Ticket resource and remove the references to the Printer.Ticket.Logo resource.

Clearing Data

Clearing transaction data can be achieved with this SQL.

This may be desirable in a new deployment when all products are loaded, staff have been trained and test runs are complete. This step would be taken when going live.

This will clear out all transactions and tickets, ready to being trading.

See database model to visualize table relationships.

THIS PROCESS WILL CLEAR YOUR TRANSACTION DATA

Product and customer master data will not be affected.

Use a raw database admin tool, such as Derby command line ij or MySQL's command line mysql.

/* This sql deletes all transactions in Openbravo POS */
/* Delete ticketlines before tickets for consistent constraints */
delete from ticketlines;
delete from tickets;
delete from receipts;
delete from taxlines;
delete from closedcash;
delete from payments;
delete from stockdiary;
delete from stockcurrent;
delete from reservation_customers;
delete from reservations;
/* update ticketsnum set ID = 1;  Attempt to modify an identity column ID */
update products set stockcost=0, stockvolume=0;
update customers set curdebt=0, curdate=null;

Retrieved from "http://wiki.openbravo.com/wiki/Projects:POS/Administrator_Guide"

This page has been accessed 141,258 times. This page was last modified on 8 June 2012, at 05:29. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.