Ir para conteúdo
  • Cadastre-se

Antonio Gomes

Membros
  • Total de ítens

    644
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por Antonio Gomes

  1. Em 03/04/2024 at 10:07, Daniel InfoCotidiano disse:

    Bom dia !
    So estamos fazendo alguns testes para consulta automatica qdo pix, provavelmente subimos esta semana.

    oi subiu?

  2. 17 minutos atrás, Victor H. Gonzales - Panda disse:

    já que você está alterando o comportamento padrão do componente, porque tu não extende ele ou faz um helper class?

    dai essas modificações você faz na sua classe, porque se amanhã tiver alguma mudança do genero na classe não tem impactos tão severos

    Pensei nisso, mas os tipos atrapalham, tem um  if Self.Provedor <> cwsNenhum then

    Logo, caso possa, eu criaria um tipo para ReceitaViaHtml.

    Mas, por hora, copiei do fonte anterior, voltei o fonte, e peguei as funcoes LerCampo, pq pifou no cliente, para resolver de imediato.

    Pode fechar o topico.

  3. @Victor H. Gonzales - Panda

    [*]TK-5131 ACBrConsultaCNPJ Adicionado Proxy / #TMSFixInsight
      Removido Código Legado
      Tratamento de Erros HTTP > 299
      por Victor H Gonzales / Daniel Moraes

    Com relação a essa remoção, é possivel expor a função ParserWS, para sessao public ?

    pelo menos para gente conseguir alimentar o objeto, com o html que antigamente existia, pois ate o evento de solicitacao externa, voces removeram, repara abaixo, o retorno dela, é um possivel entrada de dados para a funcao ParserWS

     

     

    procedure TFConsultaCnpjCpfReceitaFederal.ACBrConsultaCNPJ1SolicitarCaptcha(var AHtml: string);
    var
      CNPJ: string;
      Url : string;
    begin
      inherited;
      CNPJ := TFuncoesString.SoNumero(EditCNPJ_Cpf.Text);

      Url := 'https://solucoes.receita.fazenda.gov.br/Servicos/cnpjreva/Cnpjreva_Solicitacao.asp?cnpj=' + CNPJ;

      AHtml := TFNavegarEdge.NavegarEdge(Url);  // << retorno para ParserWS
    end;

  4. 3 horas atrás, Daniel InfoCotidiano disse:

    Bom dia @Antonio Gomes
    Vou verificar com as credenciais enviadas de outro usuario.
    Se mudar algo envio aqui p vc, muito obrigado por testar com suas credenciais.

    a propósito, o modo de usar, implementei ao meu modo, nao automatizei o componente, segue como dica para quem for trocar:

    // Anterior
            LCodigoSolicitacaoTmp := PCodigoSolicitacao;
            AMsgErro              := '';
            LFlagEnviar           := True;

            if (FDSServBanc.FieldByName('API_CONS_APOS_INCLUIR_SER').AsString = 'S') and (PCodigoSolicitacao <> '') then // inter v3
            begin
              // Se deu erro anterior, mas gravou o recibo de solicitacao, consultar - inter tem isso = se ja foi enviado, nao pode mandar de novo
              Boleto.Configuracoes.WebService.Operacao := TOperacao.tpConsultaDetalhe;
              Boleto.Enviar;
              AMsgErro    := LerRetornoDeAPI(Boleto);
              LFlagEnviar := False; // não enviar de novo
            end;

            // TODOS DEMAIS BANCOS, interv2 ou interv3, se nao tiver ainda o recibo
            if (AMsgErro = '') and LFlagEnviar then
            begin
              Boleto.Configuracoes.WebService.Operacao := TOperacao.tpInclui;
              Boleto.Enviar;
              AMsgErro := LerRetornoDeAPI(Boleto);
            end;

            // esperar entre transmissao
            if LFlagEnviar and (FDSServBanc.FieldByName('API_CONS_APOS_INCLUIR_SER').AsString = 'S') and
             (FDSServBanc.FieldByName('API_TEMPO_CONS_SER').AsInteger > 0) then
            begin
              Sleep(FDSServBanc.FieldByName('API_TEMPO_CONS_SER').AsInteger);
            end;

            // inter: Se antes nao tinha solicitacao, agora tem, e ainda nao pegou o retorno do boleto, pegar
            if (AMsgErro = '') and (FDSServBanc.FieldByName('API_CONS_APOS_INCLUIR_SER').AsString = 'S') and // inter v3
             (LCodigoSolicitacaoTmp = '') and (PCodigoSolicitacao <> '') then
            begin
              Boleto.Configuracoes.WebService.Operacao := TOperacao.tpConsultaDetalhe;
              Boleto.Enviar;
              AMsgErro := LerRetornoDeAPI(Boleto);
            end;

     

    Aberto a sugestões de melhoras no codigo, a função LerRetornoDeAPI só avalia o vetor de erros e muda as variaveis de retorno, tipo "PCodigoSolicitacao" , se teve recusa, já deixei no meu sistema o modo sleep, tipo tem la na nfe, caso api comece a ficar lenta.

  5. Finalizado os ajustes:

    Notei que: a url do pix, existem 3 casos:

       property EMV: String read Femv write Femv; // inter está aqui
        property UrlPix: String read FurlPix write FurlPix; // nao carrega aqui c

    Achei confuso, pq tem os 2?

    Testado envio v2 e v3 ok

    Cancelamento: v2 e v3.ACBrBoletoRet_Inter_API.pasACBrBoletoW_Inter_API.pas

    baixa, será testado no cliente, não tenho como fazer no momento, mas, havendo divergência, e o fonte estiver ok, eu corrijo.

    Sobre o erro do parse que o json ficava vazio, era o create, e parse logo apos, é preciso dar o parse direto, sem o create...

    Segue fontes anexo
     

    • Curtir 1
  6. 1 hora atrás, Gabriel Mororó disse:

    Tbm pensei em automatizar a consulta, mas acabei desistindo. Pego o codigosolicitacao e depois faço a consulta detalhada.

    Então Gabriel, ela não sendo sincrono, até daria, no modulo de NF-e, tem um negocio lá, do delay entre transmissão e pedido de retorno do lote.
    mas como não sabemos o comportamento dessa api do inter, estou mudando a logica minha, para fazer posterior, o chato, é ter que implementar no emissor de boleto, um "buscar retorno"... usuario pode cair no esquecimento, desse posterior, ou, a gente implantar isso via robô.

  7. 58 minutos atrás, Daniel InfoCotidiano disse:

    Perfeito, um usuario ficou de me enviar as credenciais para que possamos testar.
    Vou adiantar isso e aguardar as credenciais.

    Daniel, tem algo a mais que eu preciso olhar, no leitor de json base?

    olha isso: Nao acha o elemento

    image.thumb.png.f107b7bc7fd809f9a126a7cadc365472.png

  8. 43 minutos atrás, Daniel InfoCotidiano disse:

    Vc diz de automatizar a consulta, para q não precise incluir, depois consultar ?
    Pq como não sabemos se vai funcionar como esperado a principio deixamos assim, separado a consulta
    Mas se vc observar a API do Santander, no envio... temos q consultar em endpoints diferentes apos o retorno, vc pode dar uma olhada como foi feito nele.
     

    Sim, pois ainda está tentando pegar dados de boleto, sem poder...

    Esse trecho marcado, so existe, no retorno da consulta apos eu ter a solicitacao: o erro ocorre ali na linha LJsonObjectItem.AsJSONObject['boleto'].

    image.thumb.png.472396b29b45a36c527d8a12560e6514.png

    Retorno do enviar (primeiro comando)

    image.thumb.png.656e4c1c97b7fa9c5c3805fcf486b102.png

     

    E na consulta detalhe, eu passo esse numero ali, a partir dai, sim, terei o objeto boleto.

     

    entendi sua ideia, deixar o app controlar o primeiro envio, e eu ter o recibo (codigosolicitacao) a partir dai, eu consulto, entao, vou comentar aquela tentativa ali de ler o retorno do boleto, pois ele so tem, quando operacao = consultar

  9. 8 minutos atrás, Daniel InfoCotidiano disse:

    a consulta esta pronta. Só ter marcado indicadorPIX e informar o NossoNumeroCorrespondente.
    image.png

    Então ali dentro do lerretornoPix, eu posso chamar a consulta, aquela que aciona o comando "Enviar", como indica de eu fazer isso, dado, que eu preciso chamar via um objeto TBoletoWS

    Esse negocio do inter, se vc entende da NF-e, está bem parecido, vc envia o lote de notas, espera alguns segundos, e pega o retorno. No, via esse codigodesolicitacao deles.

  10. 16 minutos atrás, Daniel InfoCotidiano disse:

    @Antonio Gomes
    Bom dia !
    Vou verificar o Lerretorno.
    Como nao testamos por falta de credenciais era p funcionar assim:
    Vc inclui o boletoPix, ele retorna a propriedade codigoSolicitacao onde armazenamos na propriedade NossoNumeroCorrespondente:
    Screenshot_187.png

    Para pegar recuperar o titulo, precisa realizar a consulta Detalhe passando a Propriedade Nosso Numero Correspondente.


    Screenshot_186.png



     

    Isso, essa consulta, que me perdi onde fazer :))

  11. 8 horas atrás, Antonio Gomes disse:

    Problemas detectados, versao anterior ao seu fonte,  v2 funcionava, agora, nao funciona, levanta uma excessao em LerRetorno, voces puseram ela como reintroduce, e nao override, com isso, acontece um raise, mas, em debug, vi que tem o retorno 200 e os dados do boleto ali, mas nao processa em ler retorno.

    image.png.84ad3fe090ef7796f77928790cb4f9a4.png

    correção feita no fonte.

    Me surgiu uma duvida daniel, no procedimento LerRetornoPix, é preciso fazer o envio do codigo de solicitacao, para ter os dados do boleto, assim como era na v2, está causando uma violacao de acesso, quando tenta acessar o objeto boleto, no json de retorno do primeiro envio, porem, o primeiro envio, so tem o codigo de solicitacao, os dados do boleto, vem quando aciona o recuperar cobranca.

    Como eu poderia modificar isso, posso mandar mensagem para vc no email daqui do forum privado?

  12. Em 25/03/2024 at 07:59, Daniel InfoCotidiano disse:

    @Antonio Gomes
    Bom dia !
    Chegou a testar as units enviadas no post anterior?

    Problemas detectados, versao anterior ao seu fonte,  v2 funcionava, agora, nao funciona, levanta uma excessao em LerRetorno, voces puseram ela como reintroduce, e nao override, com isso, acontece um raise, mas, em debug, vi que tem o retorno 200 e os dados do boleto ali, mas nao processa em ler retorno.

    image.png.84ad3fe090ef7796f77928790cb4f9a4.png

  13. 21 horas atrás, Rodrigo Cávoli disse:

    Alguns dos nossos clientes trabalham de forma diferente: eles emitem o boleto pelo nosso sistema e enviam o boleto impresso junto com a DANFE na entrega da mercadoria. o envio da remessa para o banco é feito somente no dia seguinte.
    Não consigo usar a DLL do ACBR dessa forma ?

    Esse boleto é cliente emite, ou banco emite ?

    Se for cliente emite, numeração incrementada pelo seu sistema, funciona sim, vc deve seguir os passas que o juliomar passou, mas, precisa salvar os dados do boleto: nosso numero no seu banco, e quando for imprimir, repassar esse nosso número, o erro seu ali, aparenta ser isso, falta de colocar o nosso número, lembre-se, responsabilidade de emissão, nosso numero vc que coloca.

  14. 15 horas atrás, Antonio Gomes disse:

    Cola o fonte aqui ? eu testo, pq é do cliente a credencial.

    Aquele fonte que vc postou ali e cima, ele apresenta deficiência, no refatoramento de vocês, a troca do motor de ler json. Se caso tiver um que a leitura do json, esteja ok, gentileza, posta aqui, que eu faço os testes.

  15. 9 minutos atrás, Daniel InfoCotidiano disse:

    Então com é a junção da V2 e vamos chamar de V3 (qrcode), nao sabemos se impactou a V2. por isso dos testes antes de subirmos para o SVN
    Se puder disponibilizar as credenciais para que possamos realizar alguns testes. caso positivo, pode enviar para nosso email:
    [email protected] , no corpo da mensagem, por favor colar o link deste post para que possamos identifica-lo

    Cola o fonte aqui ? eu testo, pq é do cliente a credencial.

  16. 4 horas atrás, Daniel InfoCotidiano disse:

    Tente assim por favor
    LJson := TACBrJSONObject.Parse(RetWS);

    Então mano, eu estou esperando voces subirem isso, me atrapalhei essa madrugada, já devia ser 3 da manha, e não andava a coisa, dai, sabe eu fiz? Dei um CleanUp no tortoise e não mexi, fiquei com receio.

    Quando subir, eu farei novo teste, e havendo problema vou postar a solução.

    A propósito, voce sabe quando sobe isso ? 🫢

  17. @Italo Giurizzato Junior

    Erro ao instalar pacotes, fpDANFSe

     

    C:\Delphi\Componentes\ACBr2wc\Fontes\ACBrDFe\ACBrNFSeX\DANFSE\Fast\ACBrNFSeXDANFSeFR.pas(1198) Error: E2003 Undeclared identifier: 'fpDANFSe'
    ACBr_NFSeXDANFSeFR.dpk(62) Fatal: F2063 Could not compile used unit 'ACBrNFSeXDANFSeFR.pas'

    Alguem subiu o merge kkk

  18. Quase perdendo os cabelos, consegui enviar na v2, pq ainda tem cliente que precisa processar o retorno nessa.. logo, repara o bug doido.

    Unit ACBrBoletoRet_Inter_API - Objeto LJson, nao pega os valores corretamente. D12 Athens

    image.thumb.png.f41d2b23ca655d9a837a2ba23549f557.png

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