Digito verificador dos Correios (AR, SEDEX)

16/12/2009

3

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
Responder

Posts

08/08/2016

Hugo Soliz

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;
Responder

08/08/2016

Hugo Soliz

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!!!
Responder

25/08/2017

Marcos Roberto

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!!!


Tentei fazer o mesmo no Excel e não consegui. O que será que eu errei?
Responder

18/07/2018

Sandro Lemes

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
Responder