Ir para conteúdo
  • Cadastre-se

Antonio Gomes

Membros
  • Total de ítens

    644
  • Registro em

  • Última visita

  • Days Won

    1

Antonio Gomes last won the day on 13 Setembro 2023

Antonio Gomes had the most liked content!

1 Seguidor

Últimos Visitantes

1.468 visualizações

Antonio Gomes's Achievements

  1. 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.
  2. @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;
  3. Olá @Daniel InfoCotidiano Bão também... Conseguiu analisar o fonte ali em cima?
  4. 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
  6. 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. Daniel, tem algo a mais que eu preciso olhar, no leitor de json base? olha isso: Nao acha o elemento
  8. 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']. Retorno do enviar (primeiro comando) 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. 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. Isso, essa consulta, que me perdi onde fazer :))
  11. 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. 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.
  13. bom dia, farei isso agora a tarde, estava com costura para entregar atrasada..
×
×
  • 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...