Ir para conteúdo
  • Cadastre-se

dev botao

Erro Código Motivo - Arquivo de Retorno Banco Bradesco com 400 Posições


Ver Solução Respondido por Victor H. Gonzales - Panda,
  • Este tópico foi criado há 1031 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Estamos processando retorno do Banco Bradesco com 400 posições;
No método TACBrBancoClass.LerRetorno400 no momento de definir o código do motivo gera um laço de 5 repetições para ler blocos de 2 caracteres iniciando na posição 319.
Na última volta do laço ele acaba pegando no nosso caso o valor '2 ';
A instrução de definição da variável CodMotivo é:
  CodMotivo := StrToInt(IfThen(copy(Linha,MotivoLinha,2) = '  ','00',copy(Linha,MotivoLinha,2)));
  
Isso acaba retornando uma exceção:  ' 2' is not a valid integer value;
estamos fazendo alguma leitura errada ou é algo realmente a ser resolvido?

VER ARQUIVO.RET (Em anexo).

Se não estivermos fazendo nada errado achamos que pode haver algum problema com o fonte:

Fonte da Unit unit ACBrBoleto;

procedure TACBrBancoClass.LerRetorno400(ARetorno: TStringList);

    ...    

           MotivoLinha := 319;
           for i := 0 to 4 do
           begin
    
              CodMotivo := StrToInt(IfThen(copy(Linha,MotivoLinha,2) = '  ','00',copy(Linha,MotivoLinha,2)));

              ...
              
              MotivoLinha := MotivoLinha + 2; //Incrementa a coluna dos motivos
           
           end;
    
    ...

end;    
           
           
Linha do Arquivo de retorno Bradesco 400 posiçoes
02RETORNO01COBRANCA       00000000000000051978PS.SECURITIZADORA DE CREDITOS 237BRADESCO       1704220160000000001                                                                                                                                                                                                                                                                          180422         000001
10240974616000188000000202960010434710071677PROFACW           0000000000000353853P000000000000000000000000020614042272261-07  00000353853P00000000140422000000004854310402261  00000000000000000000000000000000000000000000000000000000000000000000000000000000000000485430000000000000000000004854300000000000000000000000000   140422                           26910511000134JOSE GENIVALDO OLIVEIRA 34000002       

posição 319 a 329 da linha detalhe
   140422 
3 3 3 3 3
1 2 2 2 2
9 1 3 5 7

i = 0  MotivoLinha = 319
copy(Linha,MotivoLinha,2) = '  '

i = 1  MotivoLinha = 321
copy(Linha,MotivoLinha,2) = ' 1'

1 = 2  MotivoLinha = 323 
copy(Linha,MotivoLinha,2) = '40'

i = 3  MotivoLinha = 325
copy(Linha,MotivoLinha,2) = '42'

i = 4  MotivoLinha = 327
copy(Linha,MotivoLinha,2) = '2 '

Não há método override para o método da classe primária na Unit ACBrBancoBradesco;

 

VER DETALHEACBR.TXT (Em anexo).

 

ARQUIVO.RET DetalheACBR.txt

  • Consultores
Postado

Boa noite

Será aberto um TK e analisado o caso

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
Postado
6 horas atrás, Grupo IN4 disse:

Só por curiosidade, tem alguma maneira que eu possa acompanhar o andamento do TK?

Boa noite,

o backlog e as sprint são somente internas;

mas essa alocada na sprint de 25 a 29/04 e está sendo analisada

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
  • Solution
Postado

Boa tarde,

se esse arquivo do usuário não foi manipulado, o layout está diferente do esperado realmente!

mas no layout do SVN ou atual do portal não encontrei discrepância com o esperado pelo componente.

https://banco.bradesco/assets/pessoajuridica/pdf/mpo_arquivos_layout_400P.pdf

O cobBradesco não tem a classe sobrescrita, pois ele segue o padrão da Febraban para arquivos de retorno, desta forma sua implementação é na classe base.

Comparado coluna a coluna, achamos estranho alguns pontos principalmente:

todas analises abaixo referido a linha 2 do arquivo

1) [254-266] Valor Pago com valor, por exemplo R$ 485,43

2) [254-266] Valor Outros Créditos com valor, por exemplo R$ 485,43 valor igual ao valor pago.

3) [305-314] Brancos, está como zeros no arquivo

4) [319-328] Motivo da Rejeição, problema inicial relatado que está ocasionando o erro de conversão para inteiro, a documentação espera nas posições do layout o motivo da rejeição, com o código de ocorrência [109-110], no caso 06 - Liquidação, mas o banco está devolvendo no motivo da rejeição o que parece um valor de data, no caso 14/04/22 que tudo indica que é a data da ocorrência do fato.

5)[329-368] Brancos, está devolvendo valor branco e no final parece um CNPJ

6)[369-394]Seria 3 outros campos referente a cartório, mas está uma razão social.

Concluo :

  • o arquivo pode ser de outra finalidade de cobrança.
  • ou os layout apresentado pelo banco diverge da documentação.
  • ou o arquivo quando foi gerado, apresentou problema.

Sugestão :

Entender o ocorrido com o GCash.

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...