Digito verificador dos Correios (AR, SEDEX)
Ola Pessoal,
Gostaria de saber se alguem sabe como calcular o digito verificador de AR (Aviso de Recebimento) dos correios aqui do Brasil. Eu achei como calcular o CEP, tentei Mod 10 e 11, mas não cheguei no resultado.
Abaixo alguns numeros de AR com 8 digitos e os digitos reais, mas preciso saber como chegar nesses digitos:
Numero sem o verificador
Verificador Correto Correios
Módulo 11
Módulo 10
25454913
6
6
2
25454914
0
4
0
25454915
3
2
7
25454916
7
0
5
Fábio Barroso
Curtidas 0
Respostas
Hugo Soliz
16/12/2009
PROCUREI MUITO E ACABEI ENCONTRANDO ISSO AQUI... FUNCIONOU PERFEITAMENTE >>>
SEI QUE JÁ FAZ TEMPO O SEU POST... MAS OUTROS PODEM PRECISAR!!! ;-)
Segue abaixo uma rotina que recebi de um anigo que trabalha com correios.
Esta em delphi. Talvez possa ajudar:
function DigitoMod11ECT(Numero: String): String;
const STR_CALC = '86423597';
var Soma, I, Resto: Integer;
begin
result:='';
Soma:= 0;
if Length(Numero) = 8 then begin
for I:=1 to 8 do
Soma:= Soma + StrToInt(Numero[I]) * StrToInt(STR_CALC[I]);
Resto:= Soma Mod 11;
if Resto = 0 then
result:= '5'
else if Resto = 1 then
result:= '0'
else
result:= IntToStr(11 - Resto);
end;
end;
SEI QUE JÁ FAZ TEMPO O SEU POST... MAS OUTROS PODEM PRECISAR!!! ;-)
Segue abaixo uma rotina que recebi de um anigo que trabalha com correios.
Esta em delphi. Talvez possa ajudar:
function DigitoMod11ECT(Numero: String): String;
const STR_CALC = '86423597';
var Soma, I, Resto: Integer;
begin
result:='';
Soma:= 0;
if Length(Numero) = 8 then begin
for I:=1 to 8 do
Soma:= Soma + StrToInt(Numero[I]) * StrToInt(STR_CALC[I]);
Resto:= Soma Mod 11;
if Resto = 0 then
result:= '5'
else if Resto = 1 then
result:= '0'
else
result:= IntToStr(11 - Resto);
end;
end;
GOSTEI 0
Hugo Soliz
16/12/2009
Utilizei para gerar o DV automaticamente em uma planilha no LibreOffice Calc...
Numa coluna (N2...) colocava os códigos e em outra (A2...), onde apliquei a fórmula, aparecia o código do AR já formatado e com o DV (Dígito Verificador)
Baseado no código em Delphi acima escrevi a seguinte fórmula >>>
=VALOR(CONCATENAR(N2;SE(MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)=0;5;SE(MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)= 1;0;11-MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)))))
As células da coluna "A" já estavam formatadas como número com o código de formato: "JO "#" "#" BR"
Assim, por exemplo, digitando na coluna N2 o número: "40651641"
obtenho como resultado na coluna em que colei a fórmula (A2): "JO 40651641 1 BR"
Espero que essa info seja de valia para alguém... valeu!!!
Numa coluna (N2...) colocava os códigos e em outra (A2...), onde apliquei a fórmula, aparecia o código do AR já formatado e com o DV (Dígito Verificador)
Baseado no código em Delphi acima escrevi a seguinte fórmula >>>
=VALOR(CONCATENAR(N2;SE(MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)=0;5;SE(MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)= 1;0;11-MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)))))
As células da coluna "A" já estavam formatadas como número com o código de formato: "JO "#" "#" BR"
Assim, por exemplo, digitando na coluna N2 o número: "40651641"
obtenho como resultado na coluna em que colei a fórmula (A2): "JO 40651641 1 BR"
Espero que essa info seja de valia para alguém... valeu!!!
GOSTEI 0
Marcos Roberto
16/12/2009
Utilizei para gerar o DV automaticamente em uma planilha no LibreOffice Calc...
Numa coluna (N2...) colocava os códigos e em outra (A2...), onde apliquei a fórmula, aparecia o código do AR já formatado e com o DV (Dígito Verificador)
Baseado no código em Delphi acima escrevi a seguinte fórmula >>>
=VALOR(CONCATENAR(N2;SE(MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)=0;5;SE(MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)= 1;0;11-MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)))))
As células da coluna "A" já estavam formatadas como número com o código de formato: "JO "#" "#" BR"
Assim, por exemplo, digitando na coluna N2 o número: "40651641"
obtenho como resultado na coluna em que colei a fórmula (A2): "JO 40651641 1 BR"
Espero que essa info seja de valia para alguém... valeu!!!
Numa coluna (N2...) colocava os códigos e em outra (A2...), onde apliquei a fórmula, aparecia o código do AR já formatado e com o DV (Dígito Verificador)
Baseado no código em Delphi acima escrevi a seguinte fórmula >>>
=VALOR(CONCATENAR(N2;SE(MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)=0;5;SE(MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)= 1;0;11-MOD(EXT.TEXTO(N2;1;1)*8+EXT.TEXTO(N2;2;1)*6+EXT.TEXTO(N2;3;1)*4+EXT.TEXTO(N2;4;1)*2+EXT.TEXTO(N2;5;1)*3+EXT.TEXTO(N2;6;1)*5+EXT.TEXTO(N2;7;1)*9+EXT.TEXTO(N2;8;1)*7;11)))))
As células da coluna "A" já estavam formatadas como número com o código de formato: "JO "#" "#" BR"
Assim, por exemplo, digitando na coluna N2 o número: "40651641"
obtenho como resultado na coluna em que colei a fórmula (A2): "JO 40651641 1 BR"
Espero que essa info seja de valia para alguém... valeu!!!
Tentei fazer o mesmo no Excel e não consegui. O que será que eu errei?
GOSTEI 0
Sandro Lemes
16/12/2009
Olá!
Hoje já existe o WebService Nativo dos Correios, disponibilizado gratuitamente !
Vide o tópico:
https://www.devmedia.com.br/forum/consulta-cep-entre-outros-servicos-direto-no-webservice-dos-correios-a-partir-do-delphi-7-acima/591246
Att.
Sandro Lemes
Hoje já existe o WebService Nativo dos Correios, disponibilizado gratuitamente !
Vide o tópico:
https://www.devmedia.com.br/forum/consulta-cep-entre-outros-servicos-direto-no-webservice-dos-correios-a-partir-do-delphi-7-acima/591246
Att.
Sandro Lemes
GOSTEI 0