Ir para conteúdo
  • Cadastre-se

Antonio Gomes

Membros
  • Total de ítens

    670
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Antonio Gomes postou

  1. olá, parece que faltou voltar o comando anterior, ao inves de sempre ser tpIncluir. ACBrBoletoW_Inter_API.pas
  2. oi daniel, farei os testes. []s
  3. 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.
  4. @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;
  5. Olá @Daniel InfoCotidiano Bão também... Conseguiu analisar o fonte ali em cima?
  6. 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.
  7. 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
  8. 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ô.
  9. Daniel, tem algo a mais que eu preciso olhar, no leitor de json base? olha isso: Nao acha o elemento
  10. 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
  11. 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.
  12. Isso, essa consulta, que me perdi onde fazer :))
  13. 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?
  14. 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.
  15. bom dia, farei isso agora a tarde, estava com costura para entregar atrasada..
  16. 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.
  17. Mas isso nao tem como testar, se o nó resultado é array ? Sem try except?
  18. isso é o monitor ?
  19. 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.
  20. Cola o fonte aqui ? eu testo, pq é do cliente a credencial.
  21. 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 ?
  22. Antonio Gomes

    fpDANFSe

    @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
  23. Bug no Parse: @Daniel InfoCotidiano repara, o parse, tá limpando o RetWS - é refatoração isso né?
×
×
  • 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.