Boa tarde, estou utilizando o componente para leitura do arquivo de retorno do Banco do Brasil, e ao ler o arquivo estou recebendo a mensagem do componente na unit AcbrBancoBrasil.pas:
Agencia\Conta do arquivo inválido
Conforme código abaixo
if (not LeCedenteRetorno) and
((rAgencia <> OnlyNumber(Cedente.Agencia)) or
(rConta <> OnlyNumber(Cedente.Conta))) then
raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido'));
Pude verificar que o componente le assim:
rCedente := trim(Copy(ARetorno[0],47,30));
rAgencia := trim(Copy(ARetorno[0],27,4));
rDigitoAgencia:= Copy(ARetorno[0],31,1);
rConta := trim(Copy(ARetorno[1],32,8));
rDigitoConta := Copy(ARetorno[0],40,1);
rCodigoCedente:= Copy(ARetorno[0],150,7);
Perceba a linha rConta := trim(Copy(ARetorno[1],32,8));
Está pegando a conta do Detail do Arquivo e não do Header conforme layout do Banco do Brasil, esta informação está no Header!
07 027 a 030 9(004) Prefixo da Agência: Número da Agência onde está cadastrado o convênio líder do cedente
08 031 a 031 X(001) Dígito Verificador - D.V. - do Prefixo da Agência.
09 032 a 039 9(008) Número da Conta Corrente: Número da conta onde está cadastrado o Convênio Líder do Cedente
10 040 a 040 X(001) Dígito Verificador - D.V. - da Conta Corrente do Cedente
Outra coisa que pude verificar é que o componente este comparando a conta assim:
(rConta <> OnlyNumber(Cedente.Conta))
Sendo que a esta verificação pode dar problema assim:
rConta = '00012345' e a informação que o componente le está vindo assim(OnlyNumber(Cedente.Conta) : '0000012345'
Sendo assim, peço aos colaboradores que analisem o que estou postando e se possível atualizem o componente para que possamos evoluir, fica ai minha colaboração!
Abs.