UnicentaPOS Help Wiki
Tag: Visual edit
(→‎Add this to your Addline script: import com.openbravo.pos.ticket.TicketLineInfo;)
Tag: Visual edit
 
Line 17: Line 17:
   
 
==Add this to your Addline script==
 
==Add this to your Addline script==
This script will not work unless you add these lines right before the first line below starting with " if ":
+
This script will not work unless you add these lines right before the first line below starting with " if
  +
 
import com.openbravo.pos.ticket.TicketLineInfo;
 
import com.openbravo.pos.ticket.TicketLineInfo;
   
import com.openbravo.pos.ticket.TicketInfo;
 
 
<span class="k" style="outline:0px;font-size:13px;color:rgb(0,128,0);font-weight:bold;">if</span> <span class="p" style="outline:0px;font-size:13px;">(</span><span class="n" style="outline:0px;font-size:13px;">line</span><span class="p" style="outline:0px;font-size:13px;">.</span><span class="n" style="outline:0px;font-size:13px;">getProperty</span><span class="p" style="outline:0px;font-size:13px;">(</span>"<span class="n" style="outline:0px;font-size:13px;">Bottle</span>"<span class="p" style="outline:0px;font-size:13px;">)</span> !<span class="p" style="outline:0px;font-size:13px;">=</span> <span class="n" style="outline:0px;font-size:13px;">null</span><span class="p" style="outline:0px;font-size:13px;">){</span>
 
<span class="k" style="outline:0px;font-size:13px;color:rgb(0,128,0);font-weight:bold;">if</span> <span class="p" style="outline:0px;font-size:13px;">(</span><span class="n" style="outline:0px;font-size:13px;">line</span><span class="p" style="outline:0px;font-size:13px;">.</span><span class="n" style="outline:0px;font-size:13px;">getProperty</span><span class="p" style="outline:0px;font-size:13px;">(</span>"<span class="n" style="outline:0px;font-size:13px;">Bottle</span>"<span class="p" style="outline:0px;font-size:13px;">)</span> !<span class="p" style="outline:0px;font-size:13px;">=</span> <span class="n" style="outline:0px;font-size:13px;">null</span><span class="p" style="outline:0px;font-size:13px;">){</span>
 
<span class="n" style="outline:0px;font-size:13px;">bottlename</span> <span class="p" style="outline:0px;font-size:13px;">=</span> <span class="n" style="outline:0px;font-size:13px;">line</span><span class="p" style="outline:0px;font-size:13px;">.</span><span class="n" style="outline:0px;font-size:13px;">getProductName</span><span class="p" style="outline:0px;font-size:13px;">()</span><span class="o" style="outline:0px;font-size:13px;color:rgb(102,102,102);">+</span> " <span class="n" style="outline:0px;font-size:13px;">Deposit</span>"<span class="p" style="outline:0px;font-size:13px;">;</span>
 
<span class="n" style="outline:0px;font-size:13px;">bottlename</span> <span class="p" style="outline:0px;font-size:13px;">=</span> <span class="n" style="outline:0px;font-size:13px;">line</span><span class="p" style="outline:0px;font-size:13px;">.</span><span class="n" style="outline:0px;font-size:13px;">getProductName</span><span class="p" style="outline:0px;font-size:13px;">()</span><span class="o" style="outline:0px;font-size:13px;color:rgb(102,102,102);">+</span> " <span class="n" style="outline:0px;font-size:13px;">Deposit</span>"<span class="p" style="outline:0px;font-size:13px;">;</span>

Latest revision as of 19:49, 25 August 2019

This Script adds a Deposit function for items such as Bottles and Cans that are returnable

It adds a unique line for each type of item and when you add more of the same product it updates the line.

Add a Product Attribute[]

Add this code to the properties tab to each product that you want to have a deposit taken - edit to the amount of the deposit before tax.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>  
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

<properties>
    <entry key="Bottle">.3</entry>
</properties>


Add this to your Addline script[]

This script will not work unless you add these lines right before the first line below starting with " if

import com.openbravo.pos.ticket.TicketLineInfo;

if (line.getProperty("Bottle") != null){
    bottlename = line.getProductName()+ " Deposit";
    bottle = line.getProperty("Bottle");
    Double newprice = new Double(bottle);
    NewMultiple = line.getMultiply();
    boolean bottlea = false;
    boolean bottleb = false;
    index = sales.getSelectedIndex();
    if (index >= 0) {
        for(int i= 0; i < ticket.getLinesCount(); i++){  
            line = ticket.getLine(i); 
            if (line.getProductName().equals(bottlename)){
                line = ticket.getLine(i);
                ticket.setLine(i,
                new TicketLineInfo(
                line.getProductID(),
                line.getProductName(),
                line.getProductTaxCategoryID(),
                line.getMultiply() + NewMultiple,
                line.getPrice (),
                line.getTaxInfo()));
                return;
            }else {
                bottlea = true;
            }
        }
    } else {
        bottleb = true;
    }
    if (bottlea){
        ticket.insertLine(index + 1,
        new TicketLineInfo(
        bottlename,
        line.getProductTaxCategoryID(),
        line.getMultiply(),
        newprice,
        line.getTaxInfo()));
    }
    if (bottleb){
        ticket.insertLine(0,
        new TicketLineInfo(
        bottlename,
        line.getProductTaxCategoryID(),
        line.getMultiply(),
        newprice,
        line.getTaxInfo()));
    }
}