Ir para conteúdo
  • Cadastre-se

TiagoTecchio

Membros Pro
  • Total de ítens

    129
  • Registro em

  • Última visita

Tudo que TiagoTecchio postou

  1. É 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.
  2. 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
  3. 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.
  4. 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;
  5. Bom dia. O documento foi publicado pela Fecomercio RS. http://sindiatacadistas.sindisoft.net/Estatisticas/ContadorClique/?parm=XO8tFmYWZzyqCm9bGewoLj5QYr6i3KsnnFnUx67pLzbxCohdUKkF4eILFDwikLwiYoQvo1CpAlasem9bGeY5j7PG5kX0LMZeRzCyJD0kDxFcUtY7xSnscSYhCtHrjdmYhulnxubWMBUj0rYLCb6difqksDk7C24kyP0qHNihteMrEFHmm0K4Bj8v7XE9cooEmg==
  6. 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.
  7. 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?
  8. Boa tarde. Anexo está o arquivo Infisc.LerXml.pas com ajustes para ler as tags do grupo dadosDaObra e tag empreitadaGlobal. Infisc.LerXml.pas
  9. Boa tarde Italo, Teste OK. Obrigado pelo retorno.
  10. Boa tarde Italo, Anexo está um XML de exemplo com os dados. Obrigado. NFS-Sai-15630.xml
  11. 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?
  12. Me parece erro de scope. Tentou revisar no ambiente de desenvolvimento do BB? Geralmente é "cob.read cob.write pix.read pix.write"
  13. 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?
  14. 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.
  15. 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ô".
  16. Boa tarde Italo, Atualizado, funcionando. Obrigado pela ajuda.
  17. 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?
  18. 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
  19. Bom dia Italo, Realizei alguns ajustes nas units do provedor Infisc para tratar corretamente a questão da retenção de ISS e a leitura das propriedades relativas a retenção de IR, PIS, COFINS e CSLL, pois não estavam completamente implementadas. Outro ponto é referente ao grupo de totais da Nota, onde a tag vtNF não coincidia com o total da tag vServ, conforme o manual. Infisc.LerXml.pas Infisc.GravarXml.pas
  20. Boa tarde, Detectei uma situação de incompatibilidade entre o componente ACBrNFSeX e o xml gerado para o provedor Infisc para a cidade de Caxias do Sul. Ao tentar ler um XML já autorizado utilizando o método LoadFromFile uma exceção é disparada. Debugando os fontes me deparei com a seguinte situação. O componente ao ler a tag <nFat> que está dentro da tag <fat> espera que o número da fatura seja um inteiro, porém o provedor permite informar um valor alfanumérico de até 15 caracteres. Penso que a solução seria modificar a property Parcela da classe TParcelasCollectionItem na unit ACBrNFSeXClass.pas de integer para string. Seria possível este ajuste? NFS-Sai-700.xml
  21. Pelas imagens você está usando o ambiente de homologação do BB, e pela minha experiência é instável (ou não prioritário). Erro 500 é algo dentro do servidor. Não parece o seu caso, mas já recebi este tipo de erro sem mensagem alguma de explicação ao enviar caracteres como (% e &) nas requisições das APIs de PIX. Na produção está normal, nenhum cliente reportou problema.
  22. Esqueci de mencionar, mas pela mensagem o seu erro refere-se ao scope. Veja na imagem anexada o "pulo do gato"
  23. Respondendo a sua dúvida: sim, eu já implementei com sucesso o uso da API do BB tanto com o ACBR quanto sem ele (fazendo as requisições manualmente usando o Synapse). Creio que as suas configurações estejam incorretas, deve atentar ao fato de você ter que criar uma aplicação no portal de desenvolvedores do BB, o seu cliente deve autorizar o uso para então ter acesso as credenciais (devKey, ClientID e ClienteSecret). O BB é de longe o banco mais fácil de ser implementado.
  24. Bom dia, Seria uma consulta individual de boleto? Se for o caso tenho feito assim e funciona: //FGerador é uma instancia do acbrBoleto FGerador.ListadeBoletos.Clear; FGerador.Configuracoes.WebService.Filtro.Clear; FGerador.Configuracoes.WebService.Operacao := tpConsultaDetalhe; FGerador.Configuracoes.WebService.Filtro.indiceContinuidade := 0; FGerador.Configuracoes.WebService.Filtro.indicadorSituacao := TACBrIndicadorSituacaoBoleto.isbBaixado; if FTipoData = 1 then begin FGerador.Configuracoes.WebService.Filtro.dataVencimento.DataInicio := FDataInicial; FGerador.Configuracoes.WebService.Filtro.dataVencimento.DataFinal := FDataFinal; end else begin FGerador.Configuracoes.WebService.Filtro.dataMovimento.DataInicio := FDataInicial; FGerador.Configuracoes.WebService.Filtro.dataMovimento.DataFinal := FDataFinal; end; if FH.StrOk(FCPF) then FGerador.Configuracoes.WebService.Filtro.cnpjCpfPagador := FCPF; // doc => TACBrTitulo; doc := FGerador.CriarTituloNaLista; doc.Carteira := '17'; doc.NossoNumero := FCds.FieldByName('APINUMERO').AsString; // nosso número ok := FGerador.EnviarBoleto; if ok and (FGerador.ListaRetornoWeb.Count > 0) then // etc....
×
×
  • 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...