Menu

EAN13

2015-04-03
2024-09-10
  • Alfirus Ahmad

    Alfirus Ahmad - 2015-04-03

    Hello,

    I want to use Unicenta, however I'm facing problem with weight scale barcode using EAN13. The barcode structure as below

    24 00412 02550 5

    DD SSSSS PPPPP C

    D = Department (weight product)
    S = SKU
    P = Price
    C = Checksum

    I have very limit knowledge in Java and tried to edit 'JPanelTicketSales.java' and tried to build it. However failed because there is a lot of error in source 'uniCentaoPOS_381_source'

    Can anyone help me to solve this problem and how much the cost?

     
    • C n' C Comics

      C n' C Comics - 2015-04-03

      US a bar code generator such as Zint to get the check-sum, just type in the first 12 digits and it will gen the check-sum for you, also, that is a rather unusual use of EAN bar-coding, usually it is

      UUCCCCCPPPPPS

      U - Country
      C - Company's/manufacture code
      P - Product Code
      S - Check-sum

       
  • Marty C

    Marty C - 2015-04-04

    Hi Alfrius,

    EAN 13 price variable barcodes should just work out of the box without any Java editing. Here's a real world example of one I use:

    Barcode Format: 210SSSSPPPPPC

    2105013002985 - (so SKU of 5013 and price of £2.98 in this example).
    In the product details on Unicenta, the barcode field is set to 2105013

    It's a while since I looked at it, but I think all price variable barcodes need to start with either 210 or 220 (someone may correct me on that though). If you already have a load of products programmed in on your scales with 240, then you may need to do some code editing. It would probably be preferable to re-program your scales though so you don't have to mess about changing the code with every new version of Unicenta.

     
    • Alfirus Ahmad

      Alfirus Ahmad - 2015-04-06

      i'll give a test using "210" for weight scales items. I never know it's already in the box because no documentation about that i can find.

       
    • Marty C

      Marty C - 2015-04-28

      To avoid confusion, the above was true but only because I was using an old version of Unicenta (3.55).

      I finally got around to upgrading yesterday and it broke all my variable price barcodes. It seems there is a bug with recent versions regarding variable barcodes.

      This is covered in the following thread:
      https://sourceforge.net/p/unicentaopos/discussion/1126900/thread/d3eac659/?limit=25&page=2
      After a bit of fiddling around I got it back up and working. Following the post by 'gkaigk' did the trick.

       
  • krulleke

    krulleke - 2015-04-08

    Both Alfirus and CnC Comics are right

    the build of a EAN13 barcode is like this
    UUCCCCCPPPPPS

    U - Country
    C - Company's/manufacture code
    P - Product Code
    S - Check-sum

    but keep in mind that the bar code range starting with a 2 is excluded from this

    then it is like this

    24 00412 02550 5DD SSSSS PPPPP C

    D = Department (weight product)
    S = SKU
    P = Price
    C = Checksum

    if you read the sources

    if(sVariableTypePrefix.equals("20")) {
      dPriceSell = Double.parseDouble(sVariableNum) / 100; // price with two decimals
    } 
    else if (sVariableTypePrefix.equals("21")) {
     dPriceSell = Double.parseDouble(sVariableNum) / 10; //price with one decimal
    } 
    else if (sVariableTypePrefix.equals("22")) {
      dPriceSell = Double.parseDouble(sVariableNum); //price with no decimals
    } 
    else if (sVariableTypePrefix.equals("23")) {
      weight = Double.parseDouble(sVariableNum) / 1000; //weight in kg with three decimals (eg. 1,234 kg)
    } 
    else if (sVariableTypePrefix.equals("24")) {
       weight = Double.parseDouble(sVariableNum) / 100; //weight in kg with two decimals (eg. 12,34 kg)
    } 
    else if (sVariableTypePrefix.equals("25")) {
       weight = Double.parseDouble(sVariableNum) / 10; //weight in kg with one decimal (eg. 123,4 kg)
    } 
    else if(sVariableTypePrefix.equals("28")) {
       sVariableNum = sCode.substring(7, 12);
       dPriceSell = Double.parseDouble(sVariableNum) / 100; // price with two decimals
    }
    

    Pepsi

     
  • uniCenta

    uniCenta - 2015-04-08

    Pepsi

    Absolutley right!

    Thanks for that.

    Barcode confusion reigns supreme!

    Don't forget too that some countries have been assigned GS1 3 digit country codes. We recently had a 3 digit country code of 611 (Morocco) and these need to be taken into account.

    uniCenta oPOS allows for 20 through to 28 for own in-house bar codes to include weight/price -per GS standards.

    Jack
    Founder uniCenta

     
    • fakruddin ali ahemed

      dear uniCenta,
      this is the first time I am trying to use your POS.
      it was really impressive but I had a serious requirement of a printed barcode with a product code and variable weights.
      I build EAN13 barcode is like this
      UUCCCCCPPPPPS = 23cccccvvvvvs I tried all possible versions and jhon L version also but still pos says "product code doesn't exists"
      please help me!

       
      • uniCenta

        uniCenta - 2015-06-19

        fakruddin ali ahemed

        If you don't construct a proper EAN-13 barcode (we don't make the rules) you will succeed; research GS1....

        Jack
        Founder uniCenta

         
  • Raj

    Raj - 2018-06-10

    Thanks, @krulleke it workes good.
    But my requirement bit different.

    Barcode
    DD SSSSS PPPPP C
    20 00001 00150 9

    When I am read with pos (v4.3.2) it shows me like below image.
    Sale

    Price value is a perfect take, I don't want to change.
    Here I want to units x1 instead of x0.015.
    How can I do?

     
  • RickyO

    RickyO - 2018-06-10

    It's taking the Product price inc' you entered in the STOCK > PRODUCTS > GENERAL (tab), compared to the product cost on the barcode, and doing the reverse math to calculate the units (weight).

     
  • Jonniher Martinez

    I have tried, but I have not been able to implement the scale printer in any way.

     

Log in to post a comment.