Codici BILANCIA

Codici BILANCIA …

Mi sono trovato a dover affrontare il discorso codici bilancia per il mio gestionale.
Il codice bilancia utilizzato nei supermercati per etichettare frutta, verdura, salumi, pane con il relativo peso un codice EAN
Esempio : 8 99999 6666 3
Il codice EAN 13 composto da 13 cifre dove la prima cifra indica lo stato di emissione esempio per Italia il codice 8
Le 6 cifre successive sono a cura dell’ente INDICOD e identificano l’azienda produttrice
Le 5 cifre successive sono a cura dell’azienda produttrice e identificano il prodotto
L’ultima cifra un carattere di controllo o check digit

La funzione per ottenere il check digit la seguente :

Function EAN13checkdigit(stringpart as string) As string
  Dim strParts() As String
  dim eancompleto as string
  Dim lngIndex As integer
  Dim intTotal As Integer
  Dim intCount As Integer
  Dim intUp As Integer
  
  if len(stringpart) <> 12 then 
    if len(Stringpart) <> 8 then 
      return ""
    end if
  end if
  
  stringpart = stringpart + "C"
  strParts = Split(stringpart, "")
  
  For lngIndex = UBound(strParts) - 1 To 0 Step -2
    For intCount = 1 To 3
      intTotal = intTotal + cint(strParts(lngIndex))
    Next
  Next
  
  For lngIndex = UBound(strParts) To 0 Step -2
    intTotal = intTotal + cint(strParts(lngIndex))
  Next
  
  intUp = intTotal
  Do Until intUp Mod 10 = 0
    intUp = intUp + 1
  Loop
  
  strParts(UBound(strParts)) = str(intUp - intTotal)
  
  return join(strParts(),"")
End Function

Il codice bilancia solitamente un ean che inizia per ‘0’ , le 6 cifre successive identificano il prodotto e le 5 successive il peso
esempio :
Prosciutto cotto parmacotto 215 grammi ( il salumiere ha chiesto alla cliente sono 2 etti e 15 lascio ? ) Il codice che ipoteticamente diamo al prosciutto cotto
0-000001-00215-7
La bilancia quindi produrr un etichetta con il peso codificato nel codice ean
dove 0 indica che sto usando un codice bilancia
000001 il codice articolo che intendo utilizzare
00215 sono i grammi di prodotto ( di solito viene venduto al Kg quindi 00215/10000 per ottenere 0,215 Kg.
e 7 che il check digit che scarto in quanto non ha utilit alcuna se non al lettore di barcode per verificare che il codice sia stato letto in modo appropriato.

strParts ?

Err 999 : General confusion …
Non capisco la domanda

Niente, avevo letto male. Ovvero:

Try ... catch RileggiMeglioIlCodiceException resetTo "Sorry: myFault" finally tuttoOkGoOn end try

come ai tempi delle BBS … ERR 999 Sysop Confused … che bei tempi…