Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1055 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde, estou executando a rotina de baixar boleto do banco do Brasil via api, mais as vezes dá falha na minha validação! não é problema no componente ACBrBoleto é na minha validação mesmo. Eu queria saber se o boleto foi realmente baixado porque as vezes devolvi o numero do contrato e data da baixa no retorno e mesmo assim não baixa o boleto no banco...vou postar minha validação.

var   Retorno : TListaRetEnvio;

begin

DATA_BAIXA_BOLETO     :=0;
          Retorno  := ACBrBoleto.ListaRetornoWeb;
          if Retorno.Count > 0 then
          begin
             for j := 0 to Retorno.Count-1 do
             for I := 0 to Pred(Retorno.Count) do
             begin
               CONTRATO            :=ACBrBoleto.ListaRetornoweb[i].DadosRet.TituloRet.Contrato;
               DATA_BAIXA_BOLETO   :=ACBrBoleto.ListaRetornoweb[i].DadosRet.TituloRet.DataBaixa;
             end;
          end;

        
            if (CONTRATO <> '') and (DATA_BAIXA_BOLETO = DM.DATA_SEM_HORA) then
            begin

          //--------Aqui rodo meu update no banco---------------------------

           end;

end;

Postado

o comando seu de update nao tem que ficar dentro do for?

Ali  vai fazer só do ultimo, se vier mais de um retorno.

E seu for está duplicado no mesmo retorno não ?

for j := 0 to Retorno.Count-1 do
             for I := 0 to Pred(Retorno.Count) do

A variavel retorno, está em loop, mas voce usa ACBrBoleto.ListaRetornoWeb...

penso ser assim:

 

PrecisaDeCommit:= 0;

             for I := 0 to ACBrBoleto.ListaRetornoWeb.Count-1 do
             begin
               CONTRATO            :=ACBrBoleto.ListaRetornoweb[i].DadosRet.TituloRet.Contrato;
               DATA_BAIXA_BOLETO   :=ACBrBoleto.ListaRetornoweb[i].DadosRet.TituloRet.DataBaixa;

if (CONTRATO <> '') and (DATA_BAIXA_BOLETO = DM.DATA_SEM_HORA) then
            begin

          mexer no banco de  dados aqui

Inc(PrecisaDeCommit); // controle para saber que teve retorno valido

           end;

 

 

             end;

 

if PrecisaDeCommit> 0 then 

Commit;

Postado

Antonio Gomes A requisição é só um boleto por mês então no retorno só vem um de cada vez. Vejo também algo que poderia ser modificado da função function TRetornoEnvio_BancoBrasil_API.LerRetorno: Boolean; por só entra nela se a variavel RetWS <> '', por exemplo se agente mandar baixar o mesmo boleto 2 vezes...não entra nessa função pra trazer o erro no json de boleto já baixado ou outro retorno.

Postado

ah entendi, o inter gera uma falha diferente, no BB nao gera tambem?

Esses retornos de API True false, eu nao aproveito o retorno, quando preciso algo mais rebuscado, faço como falou analiso manual o retWS, nem sempre o false dele, me convém, aka nas nfse (aff)

  • Este tópico foi criado há 1055 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...