Tempo aproximado para leitura: 00:03:30 min
Dúvida
Como utilizar o Dígito verificador para o Código do item?
Ambiente
TOTVS Manufatura - TOTVS Manufatura (Linha Logix) - Engenharia - Versão 12
Solução
Dígito verificador é um mecanismo de autenticação utilizado para verificar a validade e a autenticidade de um valor numérico, evitando dessa forma fraudes, erros de transmissão ou digitação. Consiste em um ou mais dígitos acrescentados ao valor original e calculados a partir deste por meio de uma determinada fórmula de cálculo, como os módulos 10 e 11. Números de documentos de identificação, de matrícula, cartões de crédito, códigos de itens e quaisquer outros códigos numéricos que necessitem de maior segurança podem utilizar dígitos verificadores.
O parâmetro que determina se a empresa trabalha com esse conceito é modulo_dig_verificador - Indicador do módulo utilizado para calculo do dígito verificador. E por meio do parâmetro qtd_digitos_verificador - Qtd de digítos que serão utilizados, no calculo do digito verificador é verificado quantos dígitos do código do item são utilizados para o cálculo. Ambos os parâmetros estão localizados no LOG00087 - Manutenção de Parâmetros em Processo Manufatura/Engenharia/Cadastro de Itens. Este parâmetro aceita as opções 0 - Módulo 10 ou 1 - Módulo 11.
Além desses parâmetros, são verificadas as posições 3 e 4 do LOG2200 - Régua de Parâmetros, que indicam o número de dígitos do código do item que é utilizado para o cálculo do dígito verificador, variando de 00 à 14.
1. Exemplo da fórmula de cálculo:
- Posição 3 à 4 do LOG2200 igual à 08.
- Código do item informado em tela: 10491110
- Parâmetro qtd_digitos_verificador igual à 0 - Módulo 10.
O cálculo do dígito verificador para o módulo 10 é calculado multiplicando cada algarismo, pela seqüência de multiplicadores 2 e 1, posicionados da direita para a esquerda.
É atribuído a seqüência de multiplicadores à cada dígito do código do item, da direita para a esquerda, conforme abaixo:
1 0 4 9 1 1 1 0
1 2 1 2 1 2 1 2
Cálculo - cada resultado da multiplicação deve ser somado individualmente:
(1 x 1) + (2 x 0) + (1 x 4) + (2 x 9) + (1 x 1) + (2 x 1) + (1 x 1) + (2 x 0) =
1 + 0 + 4 + 18 + 1 + 2 + 1 + 0 =
1 + 0 + 4 + 1 + 8 + 1 + 2 + 1 + 0 =
18
É divido o resultado da operação acima por 10 - módulo 10, e é utilizado o resto. O resto da divisão entre 18 e o módulo 10 é igual a 8, sendo 18/10 = 1,8 onde é considerado apenas o resto que é igual à 8.
Considerado o módulo 10, e subtraindo do resto da divisão efetuada acima que é 8, é obtido o resultado igual a 2, sendo 10 - 8 = 2, que é o digito verificador.
Quando o resultado desta diferença é igual a 0, o dígito verificador será igual a 0.
Sendo assim, o código do item fica: 104911102.
2. Exemplo da fórmula de cálculo:
- Posição 3 à 4 do LOG2200 igual à 08.
- Código do item informado em tela: 10491110
- Parâmetro qtd_digitos_verificador igual à 1 - Módulo 11.
É atribuído um peso a cada dígito do código do item seguindo a ordem abaixo:
1 0 4 9 1 1 1 0
9 8 7 6 5 4 3 2 pesos
Cálculo:
(9 x 1) + (8 x 0) + (7 x 4) + (6 x 9) + (5 x 1) + (4 x 1) + (3 x 1) + (2 x 0) =
9 + 0 + 28 + 54 + 5 + 4 + 3 + 0 = 103
Dividindo o resultado da operação acima por 11 - módulo 11, é utilizado o resto. O resto da divisão entre 103 e o módulo 11 é igual a 4, sendo 103/11 = 9,3636. Este resultado é arredando para 9,4. Desta forma, o resto desta divisão é 4.
Com o módulo 11 é subtraído o resto da divisão efetuada acima que é 4, é obtido o resultado igual a 7, sendo 11 - 4, que é igual à 7, que é o digito verificador.
Quando o resultado desta diferença for maior do que 9, o dígito verificador é considerado como 0. Sendo assim, o código do item é: 104911107.
0 Comentários