Ir para conteúdo
  • Cadastre-se

dev botao

Memory Leaks no boleto Inter


Ver Solução Respondido por Daniel InfoCotidiano,
  • Este tópico foi criado há 190 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Recentemente atualizei os componentes para emitir boletos híbridos no banco Inter e obtive vazamentos de memória conforme segue abaixo.

Nos outros bancos não teve problema, só no banco Inter.

Ele ocorre sempre que faço uma consulta detalhada ou no caso de transmissão de um novo boleto.

13 - 20 bytes: TJsonArray x 1, TACBrJSONObject x 40, TList x 40, UnicodeString x 7, Desconhecida x 4
21 - 36 bytes: TJsonObject x 8, UnicodeString x 36, Desconhecida x 12
37 - 52 bytes: UnicodeString x 8, Desconhecida x 1
53 - 68 bytes: UnicodeString x 1
69 - 84 bytes: UnicodeString x 2
85 - 100 bytes: UnicodeString x 1
101 - 116 bytes: UnicodeString x 2, Desconhecida x 2
181 - 212 bytes: Desconhecida x 1
245 - 276 bytes: Desconhecida x 1
389 - 436 bytes: UnicodeString x 1

No anexo vai o arquivo completo.

MemoryManager_EventosLog.txt

  • Curtir 1
  • Membros Pro
Postado

Daniel,

em tempo, ainda encontrei um problema na unit ACBrBoletoRet_Inter_API.pas em:

procedure TRetornoEnvio_Inter_API.LerRetornoPix(const ARetornoWS: TACBrBoletoRetornoWS; AIndex: Integer);

...

Na linha onde está 'valorTotalRecebimento' deveria estar 'valorTotalRecebido'.

       ARetornoWS.DadosRet.TituloRet.ValorPago     := LJsonObjectItem.AsJSONObject['cobranca'].AsCurrency['valorTotalRecebido'];//valorTotalRecebimento
    

Meus boletos não estavam baixando devido o valor pago estar permanecendo zerado.

  • Curtir 1
  • Membros Pro
Postado

Outra coisa é que na mesma sequência o retorno de LJsonObjectItem.AsJSONObject['cobranca'].AsString['situacao'] está vindo como 'RECEBIDO' quando é liquidada. O código abaixo não pega esta situação;

            if (LSituacao = C_CANCELADO) or (LSituacao = C_EXPIRADO) or
              (LSituacao = C_PAGO) or (LSituacao = C_EXPIRADO) or
              (LSituacao = C_MARCADO_RECEBIDO) then
            begin
              ARetornoWS.DadosRet.TituloRet.DataBaixa := DateIntertoDateTime(LJsonObjectItem.AsJSONObject['cobranca'].AsString['dataSituacao']);
            end;

 

  • Consultores
Postado
5 minutos atrás, Eduardo casotti disse:

Outra coisa é que na mesma sequência o retorno de LJsonObjectItem.AsJSONObject['cobranca'].AsString['situacao'] está vindo como 'RECEBIDO' quando é liquidada. O código abaixo não pega esta situação;

lembrando que isso ja funcionava.
Os retornos do pix sao tratados LerRetornoPix, LerListaRetornoPix

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Consultores
Postado

Estava alterando aqui, sera q vc pode testar com suas credenciais, vou te enviar aqui.

ACBrBoletoConversao.pas salve em ..\ACBr\Fontes\ACBrBoleto


ACBrBoletoW_Inter_API.pas   ACBrBoletoRet_Inter_API.pas  salve em ..\ACBr\Fontes\ACBrBoleto\WS


Só rodar o instalador do ACbr por favor.

Por enq só mudei das consultas da versão PIX.

Vamos ter agora as situacao isbAberto isbBaixado isbCancelado
baixado e cancelado, filtro dataMovimento
isbAberto: filtro dataVencimento ele tbm vai usar a opcao Filtro.boletoVencido ibvSim/ibvNao  (ele procura por data de vencimento boletos a receber ou vencidos)

sbAberto: filtro dataRegistro ele consulta por data emissao os boletos em aberto

ACBrBoletoRet_Inter_API.pas

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Consultores
  • Solution
Postado

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

×
×
  • 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.