Recentment m’he trobat amb la necessitat de generar el dígit de control del codi SSCC per unes etiquetes EAN128. He trobat informació al respecte en aquesta web:
http://gs1ec.org/contenido/index.php?option=com_content&view=article&id=5&Itemid=42
La informació de fet és aquesta:
A continuació us poso la funció que he fe per tal de controlar aquest dígit de control:
Private Function Verifica_DC_SSCC(ByRef Valor_SSCC As String) As Boolean
Dim i As Byte
Dim TotalBase As Long
Dim Total10 As Long
Dim DC As Byte
'de moment suposarem que em ve alguna cosa com ara (00)XXXXXXXXXXXXXXXXXC
Valor_SSCC = Right$(Valor_SSCC, 18)
If Len(Valor_SSCC) <> 18 Then
MsgBox "El SSCC ha de ser de 18 dígits.", vbInformation
End If
TotalBase = 0
For i = 1 To 17
TotalBase = TotalBase + Mid(Valor_SSCC, i, 1) * IIf(i Mod 2 = 0, 1, 3)
Next i
Total10 = TotalBase
While Total10 Mod 10 <> 0
Total10 = Total10 + 1
Wend
DC = Total10 - TotalBase
If DC <> Right(Valor_SSCC, 1) Then
MsgBox "Dígit de control incorrecte, hauria de ser un: " & DC
Verifica_DC_SSCC = False
Else
Verifica_DC_SSCC = True
End If
End Function
Cap comentari:
Publica un comentari a l'entrada