Ao realizar a leitura de arquivo de retorno do Banco Santander, com cedente cadastrado como pessoa física, obtive o seguinte erro: 'CNPJ\CPF do arquivo inválido', isso acontecia, porque no arquivo de retorno, o banco envia o CPF com zeros nas posições não utilizadas, o que causava erro na validação do CPF porque estava com 14 dígitos dentro da variável 'rCNPJCPF'.
Solucionei o problema trocando o código da linha 991 'rCNPJCPF := OnlyNumber( Copy(ARetorno[1],04,14) );' por
case StrToIntDef(Copy(ARetorno[1],2,2),0) of
01: rCNPJCPF := Copy(ARetorno[1],7,11);
02: rCNPJCPF := Copy(ARetorno[1],4,14);
else
rCNPJCPF := Copy(ARetorno[1],4,14);
end;
isso para cnab400.
e troquei o codigo da linha 888 'rCNPJCPF := RightStr(OnlyNumber(Copy(ARetorno[0], 18, 15)), 14);' por
case StrToIntDef(Copy(ARetorno[0],17,1),0) of
1: rCNPJCPF := Copy(ARetorno[0],22,11);
2: rCNPJCPF := Copy(ARetorno[0],18,15);
else
rCNPJCPF := Copy(ARetorno[0],18,15);
end;
Obs.: esta validação já existe no arquivo ACBrBancoBradesco, para manter o padrão, copiei o código deste arquivo.
Após estas modificações o arquivo de retorno foi lido com sucesso (testado com retorno cnab400 e cnab240).
Peço que esta alteração seja verificada e comitada por algum commiter.
Desde já agradeço.