Ir para conteúdo
  • Cadastre-se

Valdir Dill

Membro Pro Verificado
  • Total de ítens

    1.044
  • Registro em

  • Última visita

  • Days Won

    5

Tudo que Valdir Dill postou

  1. RESOLVIDO. O problema de fato era no SO. Uma "limpeza" com Cclean resolveu. Obrigado!
  2. Bom dia, Estou enfrentando o seguinte erro: "System error. Code: 1753 O mapeador de pontos de extremidade não possui mais pontos de extremidade disponíveis". Ainda não consegui compilar o fonte para ver exatamente onde ocorre porque em laboratório não consegui reproduzir o erro. Mas só ocorre quando acesso/seto propriedades do componente acbrNFCe. Pelas pesquisa que fiz, me parece ser problema específico do sistema operacional da máquina do cliente. Mas, se alguém já tiver passado por essa situação no uso dos componentes Acbr e puder me dar alguma dica... Obrigado.
  3. Boa tarde, Sim, também é possível. Mas acho que se a função fizer essa verificação ficaria mais completo e o código mais à prova de erros do usuário. Vejamos uma situação hipotética: um usuário trabalhando no sistema informa (cola) um e-mail com um quebra de linha num dbEdit. Se eu apenas executar TACBrValidador.Validar(trim(dbEditEmail.text)), ele vai retornar true (validado). Aí, para garantir que a gravação no BD fique correta, teria que fazer sempre, em todo campo de email, algo do tipo dbEditEmail.text := trim(dbEditEmail.txt). Colocando a função (que até poderia ser o trim) direto no AcbrValidador, garante-se que, se o usuário informar um lineBreak, tabulação ou qualquer espaço antes ou depois do e-mail, retornará false, o que forçará ele (o usuário) a corrigir. Obrigado.
  4. Bom dia, Me deparei com uma situação onde o usuário copiou e colou um e-mail. Dependendo de como ele copia lá na origem, pode vir junto um enter (quebra de linha). O AcbrValidador deixa isso passar, o que pode gerar problemas em algumas situações. Fiz uma mudança na ACBrValidador.pas (inclusão das linhas 850 a 855) no arquivo anexo. Sugiro disponibilizar alteração no svn, se os moderadores entenderem a alteração positiva, é claro. Obrigado! ACBrValidador.pas
  5. Bom dia, Eu estava com esse erro na hora de capturar o captcha. Resolveu quando habilitei TLS 1.0, TLS 1.1 e TLS 1.2 nas opções de internet. Abraços.
  6. Boa noite, Sim, ainda não colocamos em produção com usuário real, mas nos testes funcionou tudo beleza. Esta semana inclusive fizemos a homologação com a MultiplusCard e está funcionando 100%. Abraços.
  7. Perfeito. Testado e funcionando 100%. Obrigado!
  8. Vejam a mudança que fiz e aí vai. Não sei se é a melhor forma, mas fica a sugestão. Em negrito as mudanças feitas. procedure TACBrIBGE.ObterUFs(AUF : STring); begin if not fCacheLido then CarregarCache; if (fListaUFs.Count > 0) then // Já fez a carga ? if fListaUFs.Find(UFToCodUF(AUF)) > 0 then //se a UF sendo consultada está na lista do cache, ou seja, se essa UF já passou por um HTTPGet(CIBGE_URL_UF) anteriormente. Exit; fListaUFs.Clear; HTTPGet(CIBGE_URL_UF); fListaUFs.AddFromJSonStr(RespHTTP.Text); end; Obrigado.
  9. Bom dia, Nesse exemplo você está apenas consultando a cidade. Tente fazer assim: 1) Consulte ACBrIBGE1.BuscarPorNome('Petrolina', 'PE', true); //vai dar certo 2) Feche sua aplicação e abra novamente; 3) ACBrIBGE1.BuscarPorNome('Curitiba', 'PR', true); //vai ocorrer erro. Pelo menos aqui ocorre. Obrigado.
  10. Obrigado pelo retorno Daniel, Me desculpe a ignorância, rs...Mas se fosse problema de .dll/TLS, não teria que problema logo na primeira tentativa, ou seja, quando o .txt ainda não existe? Se não existir arquivo de cache gravado na pasta da aplicação, o problema não ocorre e toda consulta ao WS é feita normalmente, trazendo o retorno da lista completa das cidades UF consultada. Obrigado.
  11. Bom dia, Fiz alguns testes e estou tendo um probleminha com a nova opção de cache. Não sei se de repente falta eu configurar/tratar algo... No primeiro teste, ou seja, quando o arquivo de cache (ACBrIBGE.txt) ainda não existe, consulto cidades (ACBrIBGE1.BuscarPorNome) de mais de uma UF sem fechar a aplicação. Ele vai me trazendo os resultados tudo certinho e também vai incluindo/salvando a lista das cidades de todas as UFs consultadas no arquivo de cache. Porém, se, ao iniciar uma nova consulta, já existir o ACBrIBGE.txt e, na lista do arquivo não existir a UF que vou consultar, aí dá erro "UF XX não encontrada". Obrigado!
  12. Bom dia, Que tal essa função? function GetIBGE(VUF, VCidade : String) : String; Var VConteudo : TStringList; I : Integer; VAcbrIBGE : TACBRIBGE; Const VURLBase = 'https://cidades.ibge.gov.br/brasil/'; begin VConteudo := TStringList.Create; VAcbrIBGE := TACBRIBGE.Create(nil); try VCidade := TiraAcentos(VCidade); VCidade := StringReplace(VCidade, ' ', '-', [rfReplaceAll]); //troca espaços por hífen para não dar erro no site na url final. VAcbrIBGE.HTTPGet(VURLBase + lowerCase(VUF) + '/' + lowerCase(VCidade) + '/panorama'); VConteudo.text := VAcbrIBGE.RespHTTP.Text; for I := 0 to VConteudo.Count-1 do begin if (trim(VConteudo[ i ] ) = 'Código do Município') and (pos('class="topo__valor">', VConteudo[I+2]) > 0) then result := trim(VConteudo[I+3]); end; finally freeAndNil(VConteudo); freeAndNil(VAcbrIBGE); end; end; Obs.: aceito sugestões para melhorar. Abraços!
  13. Boa noite, Vou postar nesse tópico porque acho que tem relação. Estou com o "Erro: Falha ao localizar o nó de Assinatura". Estou usando o seguinte trio e o certificado é A3 com cartão. AcbrNFe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; AcbrNFe1.Configuracoes.Geral.SSLHttpLib := httpWinHttp; AcbrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; O erro acontece quando compila a seguinte rotina: if (SignNode = nil) then //esta é a linha 557 da ACBrDFeXsLibXml2.pas. A sentença dessa linha é verdadeira, o que dispara o except abaixo. raise EACBrDFeException.Create(cErrFindSignNode); Alguma sugestão? Obrigado!
  14. Perfeito, mudei para mapeamento e deu tudo certo. Obrigado pela dica Daniel.
  15. Boa tarde, Estou testando a seguinte configuração: AcbrNFe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; AcbrNFe1.Configuracoes.Geral.SSLHttpLib := httpWinHttp; AcbrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; Está funcionando beleza, desde que os schemas estejam na mesma máquina onde está rodando o sistema. Como eu tenho a pasta \Schemas centralizada no computador servidor e todas as demais máquinas buscam os schemas nesse servidor, aí dá o erro abaixo if (schema = nil) then begin MsgErro := ACBrStr('Erro: Schema inválido'); <-- ocorre esse erro. Esta é a linha 366 da ACBrDFeXsLibXml2.pas Exit; end; O path dos schemas fica assim \\SERVIDOR\NomeCompartilhamento\Schemas\NFe\. O erro ocorre quando ele vai buscar o arquivo nfe_v3.10.xsd (string final = \\SERVIDOR\NomeCompartilhamento\Schemas\NFe\ nfe_v3.10.xsd). Verifiquei a pasta no servidor está tudo certo, compartilhada e acessível pela rede. Inclusive acessei e copiei esse arquivo nfe_v3.10.xsd vai rede, ou seja, a rede está dando acesso normal ao arquivo. A mesma rotina, porém colocando o path do schemas = C:\MeuSistema\Schemas\NFe\, aí tudo certo, sem erro. O problema na verdade ocorre na instrução schema := xmlSchemaParse(parser_ctxt) (linha 362 da ACBrDFeXsLibXml2.pas). Mas essa instrução não consigo debugar. O que poderia ser? Alguma dica? Obrigado
  16. Boa tarde, Não sei se vai ser de ajuda para os responsáveis pelos ajustes, mas, provisoriamente, estou fazendo assim para meus usuários terem um acesso mais rápido ao código. procedure AbreSiteIBGEConsulCodigo(VCidade, VUF : String); Var VLink : String; Const VURL = 'https://cidades.ibge.gov.br/brasil/'; begin VCidade := StringReplace(VCidade, ' ', '-', [rfReplaceAll]); //troca espaços por hífen para não dar erro no site na url final. VLink := VURL + lowerCase(VUF) + '/' + lowerCase(VCidade) + '/panorama'; HlinkNavigateString(nil, PChar(VLink)); end; Abraços.
  17. Bom dia, Agradeço a dica, mas essa seria a parte de popular o Acbr depois que o certificado já está gravado no banco de dados. Minha dúvida seria mais relacionada a parte de alimentar o banco de dados, ou seja, colocar o certificado no banco de dados. Eu abro o arquivo .pfx do certificado normal, como se fosse um .txt, por exemplo? E aí jogo esse conteúdo no campo da tabela do meu BD? Não precisa fazer alguma decodificação? Vi alguns artigos falando em codificação base64, mas não achei nada muito esclarecedor. Se puder me dar alguma dica nessa parte... Obrigado!
  18. Boa tarde, Obrigado Daniel. Eu não visto o vídeo. Muito bom. Realmente ajudou bastante. O vídeo também mostrou algo que eu ainda não conhecia e achei interessante. É a opção para guardar o certificado no banco de dados e depois alimentar a propriedade SSL.DadosPFX do componente. Aí veio uma dúvida: como eu capturo os dados do arquivo .pfx para uma string para popular o campo do banco de dados? Poderia me dar uma dica de como fazer isso? Obrigado.
  19. Bom dia, Então, no caso, quando eu for utilizar AcbrNFe1.Configuracoes.Geral.SSLLib = libWinCrypt, o ideal é que eu tenha também AcbrNFe1.Configuracoes.Geral.SSLXmlSignLib = xsLibXml2, seria isso? Se positivo, não seria interessante o próprio componente já fazer isso automaticamente, ou seja, quando eu atribuir SSLLib = libWinCrypt, o componente já mudar também SSLXmlSignLib = xsLibXml2 ? Fiz um teste e, ao setar SSLLib = libWinCrypt, o componente seta automaticamente SSLXmlSignLib = xsMsXml. Obrigado!
  20. Então, na sua opinião, 09 não é liquidação e sim apenas baixa? Obrigado
  21. Bom dia, O retorno código 09 - toRetornoBaixaSimples - Bancoob - é de fato uma liquidação do título pelo pagador ou é apenas baixa? Segundo um cliente, o banco alega que esse retorno é de boleto baixado por decurso de prazo. Como identificar isso, ou seja, quando saber quando um título é de fato liquidado ou apenas baixado? Obrigado!
  22. Boa tarde, Marcos, me desculpe minha "carona" no teu tópico, pois o que eu preciso é um pouco fora da questão enunciada no teu tópico. Preciso é de uma consultoria para me ajudar a rever/finalizar o código relativo à implementação do TEF em meu sistema. Já tentei com dois consultores cadastrados aqui no ACBr, mas tá difícil. Acho que são muito ocupados, não sei. Mas o fato é que começamos os diálogos e depois fico meio que falando sozinho (sem o devido retorno). Então, se algum participante do fórum, com bons conhecimentos em TEF / ACBrTEFD estiver disposto a me ajudar com essa análise, por favor, me contate em pv. Abraços!
  23. Captei a mensagem mestre... Testado e aprovado. Obrigado!
  24. Bom dia, Atualizei os fontes e não fiquei um pouco perdido. A ACBrBoleto.pas era já para estar com alterações sugeridas pelo @Agnaldo Prates ? O que exatamente mudou nessa atualização em relação ao tamanho da conta? Pelo que eu havia entendido, a ideia seria para que pudéssemos mudar no componente a propriedade Banco.TamanhoConta, certo? Mas não é possível. Pelo menos nos testes que fiz não consegui. Obrigado!
×
×
  • 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.