Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

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


Grupo IN4
Go to solution Solved by Victor H. Gonzales - Panda,

Recommended Posts

  • Membros Pro

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

Link to comment
Share on other sites

  • Consultores

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"

Link to comment
Share on other sites

  • Consultores
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"

Link to comment
Share on other sites

  • Consultores
  • Solution

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"

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.