-
Total de ítens
670 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Antonio Gomes postou
-
olá, parece que faltou voltar o comando anterior, ao inves de sempre ser tpIncluir. ACBrBoletoW_Inter_API.pas
-
oi daniel, farei os testes. []s
-
oi subiu?
-
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.
-
@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;
-
Olá @Daniel InfoCotidiano Bão também... Conseguiu analisar o fonte ali em cima?
-
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.
-
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
-
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ô.
-
Daniel, tem algo a mais que eu preciso olhar, no leitor de json base? olha isso: Nao acha o elemento
-
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
-
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.
-
Isso, essa consulta, que me perdi onde fazer :))
-
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?
-
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.
-
bom dia, farei isso agora a tarde, estava com costura para entregar atrasada..
-
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.
-
Mas isso nao tem como testar, se o nó resultado é array ? Sem try except?
-
isso é o monitor ?
-
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.
-
Cola o fonte aqui ? eu testo, pq é do cliente a credencial.
-
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 ?
-
@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
-
Bug no Parse: @Daniel InfoCotidiano repara, o parse, tá limpando o RetWS - é refatoração isso né?