Ir para conteúdo
  • Cadastre-se

TiagoTecchio

Membros Pro
  • Total de ítens

    178
  • Registro em

  • Última visita

Tudo que TiagoTecchio postou

  1. 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?
  2. Me parece erro de scope. Tentou revisar no ambiente de desenvolvimento do BB? Geralmente é "cob.read cob.write pix.read pix.write"
  3. 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?
  4. 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.
  5. 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ô".
  6. Boa tarde Italo, Atualizado, funcionando. Obrigado pela ajuda.
  7. 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?
  8. 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
  9. 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
  10. 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
  11. 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.
  12. Esqueci de mencionar, mas pela mensagem o seu erro refere-se ao scope. Veja na imagem anexada o "pulo do gato"
  13. 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.
  14. 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....
  15. Boa tarde Italo, Atualizado, testado e funcionando. Obrigado pelo presteza.
  16. Bom dia Italo, Estou tentando debugar os métodos para resolver a questão. Não sei se ajuda mas me parece que o método TACBrNFSeProviderInfisc.ProcessarMensagemErros não está lendo corretamente os retornos do webservice. Anexei um print do xml que é gerado para a consulta de RPS logo após o envio. No print do código percebi que a função FindAllAnyNs não consegue achar as tags <motivos> e <mot>
  17. Boa tarde, Atualizei esta semana o ACBR e estou observando um comportamento estranho relacionado ao componente AcbrNfseX. Já havia posto em produção e validado o provedor Infisc para a cidade de Caxias do Sul/RS (https://www.projetoacbr.com.br/forum/topic/66217-nfsex-provedor-infisc-caxias-do-sulrs/?page=2) Porém após esta última atualização alguns procedimentos não estão funcionando corretamente. 1 - a função TNotaFiscal.GravarStream não está mais gerando um stream válido. Observei que a propriedade FXmlNfse está sempre em branco, o que não ocorria anteriormente. Para contornar, utilizei a função NotasFiscais.Items[0].GerarXML 2 - a propriedade acbrNfseX.WebService.Emite.Erros.Count está sempre retornando 0 após acionar o método Emitir, mesmo que rejeições ocorram no envio. Grato por qualquer ajuda. 20220621152816-lista-nfse-con-lot.xml 20220621152815-con-lot.xml 128-env-lot.xml
  18. Bom dia, Você está passando todos os parâmetros necessários? Por exemplo o Scope, que no caso de registro de boletos deveria ser "cobrancas.boletos-info cobrancas.boletos-requisicao". Os fontes estão atualizados?
  19. Bom dia, Anexo está um ajuste no método TBoletoW_BancoBrasil_API.DefinirParametros dentro da unit ACBrBoletoW_BancoBrasil_API referente a consulta por CPF. O dígito verificador está sendo copiado errado para o parâmetro digitoCPFPagador. Fiz o ajuste, testei e retornou corretamente. ACBrBoletoW_BancoBrasil_API.pas
  20. Bom dia, Ao utilizar a LibXML2 não seria o caso de atualizar as DLLs desta biblioteca? Elas estão em C:\{Pasta_do_ACBr}\DLLs\LibXml2 Porque já tive erros estranhos relacionados a estas DLLs e só resolvi colocando os arquivos corretos na mesma pasta do executável.
  21. Bom dia Italo, Testado e funcionando. Obrigado!
  22. Bom dia Italo, Anexo o arquivo Infisc.LerXml.pas com um ajuste para carregar corretamente o nome do país do endereço da transportadora. Sem isso o webservice do Provedor retorna esta linda mensagem: E232 Ocorreu um erro no processamento do arquivo. (Validation failed for classes [br.com.gif.nfse.model.nfse.TransportadoraNotaFiscal] during persist time for groups [javax.validation.groups.Default, ] List of constraint violations:[ ConstraintViolationImpl{interpolatedMessage='tamanho deve estar entre 1 e 60', propertyPath=nomePaisTransportadora, rootBeanClass=class br.com.gif.nfse.model.nfse.TransportadoraNotaFiscal, messageTemplate='{javax.validation.constraints.Size.message}'} ]) Infisc.LerXml.pas
  23. Bom dia Italo, Testei e agora consegui realizar as operações básicas com sucesso. Obrigado pela ajuda. Um detalhe (que não muda nada), mais um preciosismo. A grafia da propriedade abaixo está errada: "Childrens" não existe - Children já é o plural.
  24. Boa tarde Italo, Segue anexo o XML. Obrigado. NFSe-000000000000026.xml
  25. Boa tarde Italo, Grato pelo retorno. Fiz as adaptações necessárias para emissão, cancelamento e consulta e parece que está OK. Somente notei um detalhe ao carregar o XML: a propriedade OutrasInformacoes não é alimentada com as tags infAdic no médoto TNFSeR_Infisc.LerInformacoesAdic: A parte destacada não retorna nenhum elemento porém a tag existe no xml (ANodes é um array maior que 0). 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.