Ir para conteúdo
  • Cadastre-se

dev botao

erro ao LerRetorno com ACBrBoleto


FabioMachado
  • Este tópico foi criado há 2995 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa noite, estou tento problemas para ler o arquivo de retorno utilizando o acbrboleto. O cenário é o seguinte.

Cedente do tipo pessoa fisica, Banco Itau, tipo 400

no arquivo de retorno o componente lê o cpf com 3 números 0 na frente do cpf assim: 00012312312312 quando vai validar não verifica se o cedente é pessoa fisica ou juridica então da o erro que que o cpf deve conter 11 digitos.

Eu acredito que a ocorrência esteja acontecendo aqui:

   case StrToIntDef(Copy(ARetorno[1],2,2),0) of
      1 : rCNPJCPF:= Copy(ARetorno[1],07,11);
      2 : rCNPJCPF:= Copy(ARetorno[1],04,14);
   else
      rCNPJCPF:= Copy(ARetorno[1],4,14);
   end;

Link para o comentário
Compartilhar em outros sites

Eu baixei o manual do Itau e pude verificar que apesar da conta ser pessoa física o banco retorna como empresa, mesmo tendo a opção no layout deles, então alterei manualmente o arquivo alterando para 1 e ai funcionou perfeitamente. só pra ilustrar:

10200012312312312695300065064                                 00002779            157000027795             I06100915          00002779            000000000000002364023718093 
10200012312312312695300065064                                 00002785            157000027852             I06100915          00002785            000000000000001576034185266 

10100012312312312695300065064                                 00002779            157000027795             I06100915          00002779            000000000000002364023718093 
10100012312312312695300065064                                 00002785            157000027852             I06100915          00002785            000000000000001576034185266 

Vejam que 3º digito nas duas primeiras linhas era o 2 nas duas linhas seguintes eu substitui manualmente pelo 1 e ai funcionou blz.

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

Bom dia a todos!

Ao Ler Retorno com "procedure TACBrBoleto.LerRetorno(AStream: TStream)" estava gerando "Access Violation", fiz a seguinte modificação:

*** Unit: ACBrBoleto, Linha: 2171.

De:

     if not Assigned(AStream) then 
     begin
		...
     end
     else 
       SlRetorno.LoadFromStream(AStream);

Para:

     if not Assigned(AStream) then 
     begin
		...
     end
     else
     begin
       AStream.Position := 0;
       SlRetorno.LoadFromStream(AStream);
     end;

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2995 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.