amigos,
to gerando o calculo do digito pelo modulo 103 desta chave mas o resto da divisão da 101 e no digito tem que ter apenas 2 digitos
chave 35100947265640000197550010000000071100000072
alguem sabe me dizer o que acontece?
dario
amigos,
to gerando o calculo do digito pelo modulo 103 desta chave mas o resto da divisão da 101 e no digito tem que ter apenas 2 digitos
chave 35100947265640000197550010000000071100000072
alguem sabe me dizer o que acontece?
dario
Olá amigo cardosodario,
A chave está correta?
Abraço!
sim ela transmite
e tem 44 digitos
poderia ser ate 44 digitos de 9
teria que dar o digito de 2 algarismos pra todos concorda?/
dario
Olá amigo cardosodario,
Me deu curiosidade de conferir esse resultado e após calcular aqui notei que o seu resto está errado, não dá 101.
35100947265640000197550010000000071100000072 % 103 = 21
Mas gostaria de te lembrar que o resto de uma divisão por 103 receber como resultado um valor de até 102.
A exemplo disso temos:
35100947265640000197550010000000071100000153 % 103 = 102
ou
103102 % 103 = 102
Sendo assim, você pode esperar dessa divisão, resto com valores de 1 ou 2 ou 3 algarismos.
[color=red]EDIT:[/color]
Para tirar a prova, segue um cógigo bem grosse, mas funcional, que fiz:
[code]public class Modulo{
public static void main(String[] args){
int valor0 = (35100 %103)*1000000;// 80 000000
int valor1 = ((valor0 + 947265) %103)*1000000;// 80 000000
int valor2 = ((valor1 + 640000) %103)*1000000;// 64 000000
int valor3 = ((valor2 + 197550) %103)*1000000;// 19 000000
int valor4 = ((valor3 + 10000) %103)*1000000;// 11 000000
int valor5 = ((valor4 + 71) %103)*1000000;// 83 000000
int valor6 = ((valor5 + 100000) %103)*1000; // 12 000000
int valor7 = ((valor6 + 72) %103); // 21
System.out.println( valor0 +"\n" +
valor1 +"\n" +
valor2 +"\n" +
valor3 +"\n" +
valor4 +"\n" +
valor5 +"\n" +
valor6 +"\n" +
valor7);
}
}[/code]
Abraço amigo!
este calculo é para a NFe
no manual diz que é a soma ponderada dos numeros + 105 que é o start
então a soma total para dividir por 103 fica 4736 que dá 101 tanto no meu codigo quando no excel
segue planilha no excel anexa demonstrando
onde esta meu erro?
dario
Olá cardosodario,
Eu entendi o procedimento para gerar o dígito. Porém o exemplo que achei usa uma chave pequenão e não tem vários 0s (zeros) seguidos como é o caso da sua chave. Talvez seja a forma de lidar com esses zeros que esteja compromentendo o resultado.
Por exemplo:
308 % 103 = 102
[/code]Procure ver como proceder nesses casos.
Outra coisa, o fato de estar dando 101 como resultado final não é um erro, afinal como eu já disse anteriormente, um número dividido por 103 pode retornar um resto até 102. Por sinal o exemplo que fiz retornou 102.
Abraço!
No manual da NFe não diz quantos digitos tem que retornar, se é 1, 2 ou 3…
Também não explica nada sobre os 00…
Mas eu achei 1 fonte de codigo de barras que não precisa passar o digito, ele gera sozinho então deu certo…
Mas fica a duvida… o governo manda a gente programar isto mas da pouca informação…
grato,
Dario