Bom dia a todos,
estava analisando hoje(08/02/2019) o retorno de um arquivo da CEF e o componente ACBRBoleto apresenta a mensagem:"...Não é um arquivo de Retorno de cobrança com layout CNAB240."
o conteúdo desse arquivo é informando o cliente que a remessa foi processada, ou seja, Registro header de arquivo, posição: 143, tamanho: 1 informa código: 3 (Remessa Processada). Mas o componente apresenta a mensagem acima e não informa de forma correta(a meu ver) o que ocorre com esse determinado tipo de retorno. Analisando o código encontrei:
unit ACBrBoleto;
procedure TACBrBoleto.LerRetorno(AStream: TStream);
linha: 2813
case Length(SlRetorno.Strings[0]) of
240 :
begin
if Copy(SlRetorno.Strings[0],143,1) <> '2' then -----> Deveria ser alterado a forma de tratamento para informar ao operador do sistema a situação da remessa de acordo com a tabela abaixo.
Raise Exception.Create( ACBrStr( NomeArq + sLineBreak + 'Não é um arquivo de Retorno de cobrança com layout CNAB240') );
BancoRetorno := Copy(SlRetorno.Strings[0],0,3);
LayoutRemessa := c240 ;
end;
...
Código Remessa / Retorno, código adotado pela FEBRABAN para qualificar o envio ou devolução de arquivo entre a Empresa Cliente
e o Banco prestador dos Serviços. Informar:
‘1’ = Remessa (Cliente -> Banco)
‘2’ = Retorno (Banco -> Cliente)
‘3’ = Remessa Processada (Banco -> Cliente - Pré-crítica)
‘4’ = Remessa Processada Parcial (Banco -> Cliente - Pré-crítica)
‘5’ = Remessa Rejeitada (Banco -> Cliente - Pré-crítica)
Desde já agradeço a atenção de todos e minhas humildes desculpas se falei alguma besteira.