Bom dia
na leitura do arquivo de retorno 400 a unit não está buscando o digito da agência, fiz a leitura pela linha do titulo, mantendo a linha de raciocínio do leitura da agencia e conta.
Segue em anexo o PAS para validação e abaixo o os trechos alterados.
procedure TACBrBancoUnicredES.LerRetorno400(ARetorno: TStringList);
var
...
rAgencia, rDigitoAgencia :String; //>>>alterado
...
begin
....
rAgencia := trim(Copy(ARetorno[1], 18, ACBrBanco.TamanhoAgencia));
rDigitoAgencia := Copy(ARetorno[1], 22 ,1); //>>>alterado
rConta := trim(Copy(ARetorno[1], 23, 8));
rDigitoConta := Copy(ARetorno[1], 31 ,1);
....
Cedente.CodigoCedente:= rCodEmpresa;
Cedente.Nome := rCedente;
Cedente.Agencia := rAgencia;
Cedente.AgenciaDigito:= rDigitoAgencia; //'0'; //>>>alterado
Cedente.Conta := rConta;
Cedente.ContaDigito := rDigitoConta;
...
ACBrBancoUnicredES.pas