Ir para conteúdo
  • Cadastre-se

TiagoTecchio

Membros Pro
  • Total de ítens

    118
  • Registro em

  • Última visita

Tudo que TiagoTecchio postou

  1. Bom dia Diego, Grato pelo retorno e os links. Já havia pesquisado todos os links que o Google/Bing/Duck sugeriram . Uma das sugestões que encontrei foi atualizar o Indy, porém o meu Delphi é mais antigo (XE6) e fiquei com receio de criar mais problemas ao atualizar a biblioteca. A solução encontrada foi utilizar a suíte de componentes Overbyte ICS - já utilizava ela para situações específicas. É uma biblioteca opensource, bastante ampla e mais complexa que o Synapse, mas a recomendo fortemente. https://wiki.overbyte.eu/wiki/index.php/Main_Page https://wiki.overbyte.eu/wiki/index.php/ICS_Download https://www.overbyte.eu/frame_index.html Atualizei para a última versão devido ao SSL, fiz os testes e deu certo. Utilizei as classes TSslHttpCli e TSslContext tanto para GET quanto POST.
  2. Boa tarde colegas. Estou tentando realizar algumas requisições (GET a princípio) em uma API que está atrás de um Cloudflare. Tenho utilizado o Synapse para todas as requisições que preciso (pix e APIs em geral) e funciona bem. Contudo a API retorna um código 301-Moved Permanently. Não identifiquei uma maneira de redirecionar usando synapse. Fiz umas pesquisas e tentei utilizar o componente Indy TIdHttp. O código de retorno até muda de 301 para 403-Forbidden, mas creio que o Cloudflare esteja bloqueando a requisição. Obs: testando pelo Postman funciona . Caso alguém tenha passado por situação semelhante, agradeço qualquer comentário.
  3. Bom dia, O EMV vem no campo "pixCopiaECola" e tem funcionando - é este o campo usado para gerar o QRCode. Na versão 1 da API era usado o campo "textoImagemQRcode", mas não pode mais utilizado em aplicações novas. O ambiente de homologação do BB é traiçoeiro, apresenta resultados inconsistentes e é instável. Melhor seria utilizar o ambiente de produção do seu cliente e gerar algumas cobranças com valores simbólicos - foi o que fiz e deu certo.
  4. Bom dia colegas! Sei que a maioria de nós que utilizamos o ACBR trabalha com o bom e velho RAD Studio/Delphi, mas além deste quais outras ferramentas/linguagens os colegas usam? Vantagens, desvantagens? Programação para web ou apps? Abraço e bom final de semana para todos.
      • 2
      • Curtir
  5. 1995 aprendi Turbo Pascal na escola num 486, depois VB (não fui pra frente) e Delphi (meu companheiro há mais de 20 anos). Há uns 3 anos cai em amores pelo Dart, a linguagem usada pelo Flutter - disparado a linguagem mais interessante que já trabalhei. Gosto muito do C# também pela sua documentação, exemplos e semântica.
  6. É suficiente. Se você rodar o BAT (esperar e tomar um café no intervalo) e instalar novamente funciona. O que sugeri foi uma maneira mais rápida de remover os arquivos.
  7. Bom dia, Se me permite uma dica, instale o aplicativo Everything no seu PC (https://www.voidtools.com/). Ele indexa todos os arquivos do HD e você consegue localizar qualquer arquivo instanteamente. Uma vez instalado basta colocar a string abaixo para localizar todas as referências do ACBR e removê-las antes de uma nova instalação: ACBr*.bpl|ACBr*.dcp|ACBr*.dcu|PCN*.bpl|PCN*.dcp|PCN*.dcu|SYNA*.bpl|SYNA*.dcp|SYNA*.dcu|pnfs*.dcu|pcte*.bpl|pcte*.dcp|pcte*.dcu|pmdfe*.bpl|pmdfe*.dcp|pmdfe*.dcu|pgnre*.dcp|pgnre*.bpl|pces*.bpl|pgnre*.dcu|pces*.dcp|pces*.dcu|pca*.dcp|pca*.dcu
  8. Você está utilizando a versão 2 da API do BB? Porque se não me engano, a versão 1 é válida somente para clientes que foram contratados até maio ou junho - novas aplicações ou contratos somente na v2.
  9. Boa tarde, Eu adaptei o método de geração de QrCode, aplicando um zoom no bitmap. Desta forma, o fator do zoom representa o fator de multiplicação dos pixels da imagem. Se não me engano, a classe TDelphiZXingQRCode está distribuída junto ao ACBR. procedure MontaQRCode( const ATexto: string; var pBmpQRCode: TBitmap; const pZoom: Integer = 1 ); var J, I, xi, xj, TJ, TI, zoom : Integer; objQRCode : TDelphiZXingQRCode; cor: TColor; begin zoom := FH.SeSenao(pZoom >= 1, pZoom, 1); objQRCode := TDelphiZXingQRCode.Create; try objQRCode.Data := ATexto; objQRCode.Encoding := qrISO88591; objQRCode.QuietZone := 4; pBmpQRCode.SetSize(objQRCode.Rows * zoom, objQRCode.Columns * zoom); for I := 0 to objQRCode.Rows - 1 do begin for J := 0 to objQRCode.Columns - 1 do begin if (objQRCode.IsBlack[I, J]) then cor := clBlack else cor := clWhite; if zoom > 1 then begin TI := ((I+1) * zoom); for xi := 1 to zoom do begin Dec(TI); TJ := ((J+1) * zoom); for xj := 1 to zoom do begin Dec(TJ); pBmpQRCode.Canvas.Pixels[TJ, TI] := cor; end; end; end else pBmpQRCode.Canvas.Pixels[J, I] := cor end; end; finally objQRCode.free; end; end; Para testar: procedure TFSisUtil.Button4Click(Sender: TObject); var path, tx: string; bitmap : TBitmap; begin tx := 'este é um teste de zoom de qrcode'; bitmap := TBitmap.Create; try MontaQRCode(tx, bitmap, 4); path := 'c:\teste\' + FormatDateTime('ddmmyyyy.hhmmsszzzz', Now) + '.bmp'; bitmap.SaveToFile(path); finally bitmap.Free; end; end;
  10. Bom dia. O documento foi publicado pela Fecomercio RS. http://sindiatacadistas.sindisoft.net/Estatisticas/ContadorClique/?parm=XO8tFmYWZzyqCm9bGewoLj5QYr6i3KsnnFnUx67pLzbxCohdUKkF4eILFDwikLwiYoQvo1CpAlasem9bGeY5j7PG5kX0LMZeRzCyJD0kDxFcUtY7xSnscSYhCtHrjdmYhulnxubWMBUj0rYLCb6difqksDk7C24kyP0qHNihteMrEFHmm0K4Bj8v7XE9cooEmg==
  11. Bom dia, Você está se referindo a um efeito indesejado chamado "flickering". Tentou ativar o DoubleBuffered do componente ou do parent do componente? Por exemplo o TPanel. Tentou substituir o componente de GIF por uma TProgressBar?
  12. Boa tarde Elias. Grato pelo pronto retorno. Neste meio tempo alterei o fonte desabilitando a consistência e consegui gerar a cobrança. A título de informação, a API v2 do BB está intermitente, verificando o forum deles me deparei com várias pessoas relatando 404 ao criar o PIX. Na insistência, a cobrança é criada. Obrigado.
  13. Boa tarde. Estou tentando validar a v2 da API do BB e me deparei com as situações abaixo (em produção). Veja que configurei para utilizar arquivo PFX, mas o componente não reconhece a configuração corretamente. Atualizei os fontes hoje de manhã. Estou deixando passar alguma coisa?
  14. Boa tarde. Anexo está o arquivo Infisc.LerXml.pas com ajustes para ler as tags do grupo dadosDaObra e tag empreitadaGlobal. Infisc.LerXml.pas
  15. Boa tarde Italo, Teste OK. Obrigado pelo retorno.
  16. Boa tarde Italo, Anexo está um XML de exemplo com os dados. Obrigado. NFS-Sai-15630.xml
  17. Boa tarde, Avaliando algumas situações em clientes que utilizam nota fiscal de serviço para o município de Caxias do Sul (provedor Infisc) me deparei com o seguinte. O método LerEnderecoTomador na unit Infisc.LerXml invoca a função ObterNomeMunicipio para recuperar o nome do município do tomador. Mas por quê? Pelo debug que fiz, este método internamente chama uma API do IBGE e que eventualmente me causa problemas. Então não vejo motivos para que seja chamada a API já que o XML que está sendo carregado já contém a tag xMun (o nome do município). Seria possível ter uma property para não executar este trecho de código? Ou modificar para ler diretamente a tag xMun?
  18. Me parece erro de scope. Tentou revisar no ambiente de desenvolvimento do BB? Geralmente é "cob.read cob.write pix.read pix.write"
  19. Boa tarde, Qual a mensagem de erro? Precisa detalhar melhor. As DLLs OpenSSL estão atualizadas? A URL em "/Endereco.php" suporta o formato que você está tentando postar? Se usar o synapse diretamente funciona?
  20. Bom dia, Seria interessante se você postasse um trecho do seu código. Eu tenho feito o registro online de boletos do BB sem problemas e capturado o EMV para geração do QrCode. Contudo não gero a impressão dos docs usando o ACBrBoleto devido a customização do cliente.
  21. Bom dia, Também cometi este erro, então creio que você esteja utilizando as propriedades erradas. Se fizer uma pesquisa na unit ACBrBoletoW_BancoBrasil_API.pas no método TBoletoW_BancoBrasil_API.GerarMulta(AJson: TJsonObject) verá que deve utilizar as propriedades PercentualMulta, MultaValorFixo e DataMulta. No caso dos juros são as propriedades ValorMoraJuros e CodigoMora. A propriedade CodigoMoraJuros:=cjTaxaDiaria que você utilizou não tem efeito. Como esta classe AcbrBoleto gera muita abstração e para vários bancos, é importante sempre olhar "dentro do capô".
  22. Boa tarde Italo, Atualizado, funcionando. Obrigado pela ajuda.
  23. Bom dia Italo, Fiz um update dos fontes contudo o método TNFSeR_Infisc.LerServicos está com campos faltando. Eu havia incluído a leitura da Alíquota e Base de INSS, o Valor da Redução de ISS e corrigido a leitura do campo ValorIRRF. Você consegue revisar por gentileza?
  24. Boa tarde Italo, Grato pelo retorno. Atualizei os fontes conforme sua orientação, porém precisei realizar alguns ajustes na unit Infisc.LerXml (anexo), referente a campos relacionados a alíquota e valor de retenção de INSS, valor de redução de ISS e valor do IR. Adicionei um tratamento com try...except ao ler o campo nFat pois como descrevi anteriormente, o provedor permite que este campo seja string, assim acabo recebendo notas com barras, traço e pontos. Infisc.LerXml.pas
×
×
  • 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...