Ir para conteúdo
  • Cadastre-se

hugoleo2000

Membros
  • Total de ítens

    16
  • Registro em

  • Última visita

Tudo que hugoleo2000 postou

  1. Olá, Estou atribuindo valores à diversas propriedades da NFS-e mas quando gero o xml as tags com as informações não são geradas e ao emitir a nota valores ficam divergentes. Os problemas foram identificados ao gerar e emitir para o ambiente nacional. Abaixo está alguns trechos do código usado para preencher as propriedades da DPS: procedure TFormNFSe.GerarRPS(); var oNFSe: TNFSe; begin ... DM.ACBrNFSe1.NotasFiscais.Clear; oNFSe := DM.ACBrNFSe1.NotasFiscais.New.NFSe; ... oNFSe.Servico.Valores.ValorServicos := DM.NFSe.FieldByName('ValorServicos').AsCurrency; oNFSe.Servico.Valores.ValorDeducoes := DM.NFSe.FieldByName('Deducoes').AsCurrency; oNFSe.Servico.Valores.DescontoIncondicionado := DM.NFSe.FieldByName('DescontoIncondicional').AsCurrency; oNFSe.Servico.Valores.BaseCalculo := oNFSe.Servico.Valores.ValorServicos - oNFSe.Servico.Valores.ValorDeducoes - oNFSe.Servico.Valores.DescontoIncondicionado; ... oNFSe.Servico.Valores.Aliquota := 0.05; oNFSe.Servico.Valores.ValorIss := oNFSe.Servico.Valores.BaseCalculo * oNFSe.Servico.Valores.Aliquota; oNFSe.Servico.Valores.IssRetido := stRetencao; oNFSe.Servico.ResponsavelRetencao := rtTomador; oNFSe.Servico.Valores.ValorIssRetido := oNFSe.Servico.Valores.ValorIss; ... oNFSe.Servico.Valores.ValorLiquidoNfse := oNFSe.Servico.Valores.ValorServicos - oNFSe.Servico.Valores.ValorPis - oNFSe.Servico.Valores.ValorCofins - oNFSe.Servico.Valores.ValorInss - oNFSe.Servico.Valores.ValorIr - oNFSe.Servico.Valores.ValorCsll - oNFSe.Servico.Valores.OutrasRetencoes - oNFSe.Servico.Valores.ValorIssRetido - oNFSe.Servico.Valores.DescontoIncondicionado - oNFSe.Servico.Valores.DescontoCondicionado; ... DM.ACBrNFSe1.NotasFiscais.Items[Nota].GravarXML('','', txmlRPS); end; Abaixo coloco um XML gerado, preservando dados dos envolvidos: <?xml version="1.0" encoding="UTF-8"?> <DPS xmlns="http://www.sped.fazenda.gov.br/nfse" versao="1.01"> <infDPS Id="DPS240810229999999999999900001000002026001104"> <tpAmb>2</tpAmb> <dhEmi>2026-05-22T10:28:57-03:00</dhEmi> <verAplic>4.0.40.1</verAplic> <serie>1</serie> <nDPS>2026001104</nDPS> <dCompet>2026-05-22</dCompet> <tpEmit>1</tpEmit> <cLocEmi>2408102</cLocEmi> <prest> <CNPJ>99999999999999</CNPJ> <fone>9999999999</fone> <email>[email protected]</email> <regTrib> <opSimpNac>1</opSimpNac> <regEspTrib>9</regEspTrib> </regTrib> </prest> <toma> <CNPJ>99999999999999</CNPJ> <xNome>AAAAAAAAAAAAAAAAAAAAAAAA</xNome> <end> <endNac> <cMun>9999999</cMun> <CEP>99999999</CEP> </endNac> <xLgr>AAAAAAAAAAAAAAAAAAAAAAAAA</xLgr> <nro>999</nro> <xBairro>AAAAAAAAA</xBairro> </end> <fone>9999999999</fone> <email>[email protected]</email> </toma> <serv> <locPrest> <cLocPrestacao>2408102</cLocPrestacao> </locPrest> <cServ> <cTribNac>140101</cTribNac> <xDescServ>ALINHAMENTO 3D EIXO DIANTEIRO\nCAMBAGEM PASSEIO (DIANTEIRO)\nTROCA OLEO (CAR)\n</xDescServ> <cNBS>120013110</cNBS> </cServ> <infoCompl> <xInfComp>PROCON ... Lei Municipal No 6216/2011</xInfComp> </infoCompl> </serv> <valores> <vServPrest> <vServ>177.00</vServ> </vServPrest> <trib> <tribMun> <tribISSQN>1</tribISSQN> <tpRetISSQN>1</tpRetISSQN> </tribMun> <tribFed> <piscofins> <CST>01</CST> <vBCPisCofins>177.00</vBCPisCofins> <pAliqPis>0.65</pAliqPis> <pAliqCofins>3.00</pAliqCofins> <vPis>1.15</vPis> <vCofins>5.31</vCofins> <tpRetPisCofins>2</tpRetPisCofins> </piscofins> </tribFed> <totTrib> <vTotTrib> <vTotTribFed>6.46</vTotTribFed> <vTotTribEst>0.00</vTotTribEst> <vTotTribMun>8.85</vTotTribMun> </vTotTrib> </totTrib> </trib> </valores> </infDPS> </DPS> Observe que no XML não estão incluídas várias informações como a questão do ISS Retido, Valor Líquido, etc. Vi que é na function TNFSeW_PadraoNacional.GerarXMLValoresNFSe() onde as tags referentes ao ISS Retido, Valor Líquido da NFSe são preenchidos, mas essa função não é chamada quando estou depurando. Na depuração o fluxo chama: function TNotaFiscal.GravarXML() function TNotaFiscal.GerarXML() function TACBrNFSeXProvider.GerarXml() function TNFSeW_PadraoNacional.GerarXml() function TNFSeW_PadraoNacional.GerarXMLInfDps() function TNFSeW_PadraoNacional.GerarXMLValores() function TNFSeW_PadraoNacional.GerarXMLServicoPrestado() Já estou há um bom tempo tentando entender porque a GerarXMLValoresNFSe não é executada, mas até momento não consegui. O fluxo e execução passar sempre sobre essas outras functions que relacionei. E ao emitir a NFSe os dados ficam errados ou faltando, descontos zerados, valor líquido da nfse igual ao valor dos serviços, sem considerar descontos e retenções. Abaixo está um trecho do DANFS-e com as inconsistências. Se alguém tiver alguma orientação a dar agradeço desde já.
  2. Como estão fazendo para obter o valor pago quando o boleto é liquidado via qrCode? No json retornado pela api de boletos do Bradesco a chave "vlrPagto" está vindo zerado, bem como "dtPagto" está zerada. Também percebi que a chave "ValorMoedaBol" está vindo zerada e consequentemente o trecho ARetornoWS.DadosRet.TituloRet.ValorDocumento := ValorInteiroParaDouble(LJsonObject.AsInteger['valorMoedaBol']); em ACBrBoletoRet_Bradesco estava vindo zerado, então alterei para ARetornoWS.DadosRet.TituloRet.ValorDocumento := ValorInteiroParaDouble(LJsonObject.AsInteger['valMoeda']); e resolveu.
  3. O erro foi solucionado quando substituí o valor da propriedade ConfigWebServices.VersaoDados da classe TACBrNFSeProviderISSNatal de '1' para '2' na unit ISSNatal.Provider.pas: { TACBrNFSeProviderISSNatal } procedure TACBrNFSeProviderISSNatal.Configuracao; begin inherited Configuracao; with ConfigAssinar do begin Rps := True; LoteRps := True; CancelarNFSe := True; end; with ConfigWebServices do begin VersaoDados := '2'; VersaoAtrib := '1'; end; ConfigMsgDados.DadosCabecalho := GetCabecalho(''); end; Segue em anexo a unit completa alterada caso queiram atualizá-la no repositório. ISSNatal.Provider.pas
  4. No dia 02 de janeiro um cliente que utiliza nosso ERP para emissão de NFS-e nos relatou sobre um erro ocorrido a partir daquele dia. Até o último dia de dezembro do ano passado ele estava emitindo normalmente. Como na mudança de ano teve a questão da reforma tributária e o sistema ainda estava usando o antigo componente ACBrNFSe resolvi fazer a troca pelo componente mais recente, o ACBRNFSeX. Todavia o problema ainda persiste. Já atualizei o ACBr, já rodei o arquivo .bat que recompila os arquivos de recursos e mesmo assim o erro continua. O layout que se encontra na pasta dos schemas está atualizado. Há algo mais que possa ser feito? Desde já agradeço qualquer orientação.
  5. Boleto.ListaRetornoWeb[i].DadosRet.TituloRet.DataBaixa é a propriedade correta para obter a data de liquidação via api do Sicoob.
  6. Ao consultar boleto liquidado ou baixado via api do Sicoob percebi que as propriedades Boleto.ListaRetornoWeb[i].DadosRet.TituloRet.DataProcessamento, Boleto.ListaRetornoWeb[i].DadosRet.TituloRet.DataCredito e Boleto.ListaRetornoWeb[i].DadosRet.TituloRet.DataMovimento estão vindo zeradas, diferente de quando consulto boletos por outras api como BB e Santander. Vi que no json retornado pela api Sicoob encontram-se datas em "dataHistorico": "listaHistorico": [ { "dataHistorico": "2025-10-17", "tipoHistorico": "1", "descricaoHistorico": "ENTRADA - VALOR NOMINAL TÍTULO - R$ 29,90" }, { "dataHistorico": "2025-10-17", "tipoHistorico": "6", "descricaoHistorico": "BAIXA - BAIXA - PEDIDO CEDENTE - " } ] Como faço para obter essas informações nas propriedades do componente após uma consulta?
  7. Eu já havia definido NOGUI nas opções de projeto. Estes erros ocorreram mesmo assim.
  8. A versão do Delphi é a 10.2 e o Linux é o Ubuntu Server 22.04. Ao invés de retirar o tamanho das strings, já que não estava dando erro ao compilar na plataforma Windows, apenas acrescentei a diretiva de compilação {$IFNDEF LINUX} e o erro foi resolvido. Todavia ao continuar a compilação ocorreu outro erro na cláusula uses das units ACBrBancoPenseBank e ACBrBancoBrasil, onde acusa o erro "[DCC Fatal Error] ACBrBancoPenseBank.pas(40): F2613 Unit 'Contnrs' not found.". Acrescentei a mesma diretiva de compilação e este problema também foi resolvido. Agora outro erro foi disparados nas units ACBrBoletoRet_Inter_API e ACBrBoletoRet_C6: o erro "[DCC Error] ACBrBoletoRet_Inter_API.pas(527): E2003 Undeclared identifier: 'AnsiString'" ocorrido ao definir a variável LSituacao como AnsiString foi resolvido quando adicionei uma diretiva de compilação substituindo AnsiString por string na plataforma Linux. Em seguida, ao continuar a compilação, outro erro ocorreu na unit ACBrBoletoW_Bradesco: "[DCC Error] ACBrBoletoW_Bradesco.pas(309): E2003 Undeclared identifier: 'AnsiChar'" na linha 309 onde há o trecho de código Result := Result + AnsiChar(#10); Resolvi também acrescentando direta de compilação. Agora está ocorrendo o erro "[DCC Error] ACBrBoletoKobana.Classes.pas(837): E2197 Constant object cannot be passed as var parameter" na unit ACBrBoletoKobana.Classes, mais precisamente na procedure TRetornoCarteira.RetornarDadosDaCarteira, linha 837, onde há o trecho de código lSerializador.Desserializar(lStream.DataString, Self);
  9. Tenho um projeto em Delphi que roda como um serviço no Windows. Estou fazendo a conversão para rodar na plataforma Linux. Todavia quando compilo dá uma série de erros na unit ACBrBoletoConversao.pas, conforme coloco na imagem. O erro diz [DCC Error] ACBrBoletoConversao.pas(106): E2029 ';' expected but '[' found na linha 106 onde tem Codigo: string[5]; e outras linhas similares. Todavia quando mudo a plataforma para Windows ele compila normalmente. Há alguma alteração que precise ser feita em algum dos arquivos .inc do ACBr para permitir essa compilação? Desde já agradeço qualquer orientação.
  10. Passei pelo mesmo problema há duas semanas e o foi resolvido colocando a modalidade 101.
  11. Tem razão Daniel, eu não estava entendendo corretamente o enunciado do teste 17, nem da documentação sobre o reajuste de valor e achei que era pra diminuir o valor da forma. Vou prosseguir conforme suas orientações. Deixo aqui registrado meus agradecimentos pela atenção dada e os esclarescimentos.
  12. O que ocorre na transação: O componente não envia o CNF para o gerenciador padrão. O que deveria ocorrer: O componente deveria ajustar internamente o valor do pagamento retornado pelo TEF e enviar um CNF para o gerenciador padrão. Como o reajuste não é feito fica uma diferença de 50% restante para completar o valor do pagamento e o ACBrTefD não prossegue. Como mencionei anteriormente quando havia depurado os passos detectei que no final do método TACBrTEFDClass.ProcessarRespostaPagamento há uma condição que só finaliza o cupom e imprime as transações pendentes se TACBrTEFD(Owner).RespostasPendentes.SaldoRestante for menor o igual a zero e o resutado está dando 5 (tendo em vista que na chamada a ACBrTED.CRT foi passado o valor 10). Consequentemente também acredito que o envio do CNF está sujeito a essa mesma condição.
  13. Tanto a minha aplicação quanto o TEFDemoNF estão devidamente configurados com PayGo e marcadas as opções "Suporta Desconto", "Suporta Saque", "Suporta Reajuste Valor" e "Múltiplos Cartões", conforme imagem da tela de configurações em anexo. Para preparar este teste inicialmente abri as opções administrativas do TEF e configurei os passos de certificação para começar a partir do Teste 17. Iniciei uma venda de R$10,00 no cartão de crédito e quando o TEF retornou os dados da operação o TEFDemoNF nao fez o devido processamento e o log parou na linha "PagGo FinalizarResposta: CRT", conforme pode ser visto no arquivo de log anexo. Quando acionei a opção "ESC - Cancelar" o TEFDemoNF acionou um NCN e anulei a operação. Em um segundo momento, repeti a operação e ao invés de acionar a opção "ESC - Cancelar" eu inclui uma nova forma de pagamento em dinheiro com o valor restante da operação e aí sim o TEFDemoNF gerou o CNF e imprimiu os comprovantes. O que observei é que o TEFDemoNF não processou o retorno do teste 17 e, consequentemente, não reajustou o "Total Operação" para R$5,00 para obedecer o teste. Reforço o que já havia percebido nos métodos TACBrTEFDRespTXT.ConteudoToProperty e TACBrTEFDClass.ProcessarRespostaPagamento relatados na minha pergunta inicial. logtef.log
  14. Quando tento executar o passo 17 do roteiro de testes da certificação PayGo, que envolve a questão de venda com valor reajustado em 50% menor que o original, a operação não está sendo processada. No teste faço uma venda no valor de R$10,00 e o TEF me retorna um valor de R$5,00 para ser ajustado no valor da venda. A configuração TEFPayGo.SuportaReajusteValor está True, assim como SuportaDesconto e SuportaSaque. Percebi que o método TACBrTEFDRespTXT.ConteudoToProperty não faz tratamento do registro 744 (reajuste do valor). A questão é que no final do método TACBrTEFDClass.ProcessarRespostaPagamento há uma condição que só finaliza o cupom e imprime as transações pendentes se TACBrTEFD(Owner).RespostasPendentes.SaldoRestante for menor o igual a zero e o resutado está dando 5 (tendo em vista que na chamada a ACBrTED.CRT foi passado o valor 10). Fiz um teste também com o TEFDemoNF e não passou. Há algum procedimento que preciso fazer para prosseguir com este teste?
  15. Tive o mesmo problema quando mudei a configuração de capicom para openssl e no meu caso foi questão de permissão pois os schemas ficavam no servidor e quando coloquei para uma pasta local ele acessou normalmente. Depois foi só alterar as permissões de rede que o sistema não exibiu mais o erro.
  16. hugoleo2000

    ACBrNFSe em Natal

    A Secretaria Municipal de Tributação do município de Natal (SEMUT) ainda não disponibilizou webservices para automatizar o envio das NFSe. Todo o preenchimento das notas é feito manualmente através de um portal específico (http://directa.natal.rn.gov.br:8086/) ou pelo envio do xml de lote, seguindo o padrão ABRASF. Utilizando o ACBrNFSe implementamos todo o mecanismo necessário para o nosso sistema gerar os arquivos xml de lote a serem carregados no portal. O arquivo xml gerado segue os mesmos padrões de um arquivo de exemplo disponibilizado no site da SEMUT, todavia ao realizar um teste de validação do xml de lote através do portal Directa este retorna uma crítica informando que assinatura do documento não é compatível com a tag InfRps. No nosso xml foi usada apenas um RPS como exemplo e a assinatura foi feita com um certificado digital válido. Alguém tem ideia do que possa estar acontecendo com as assinaturas ou passou por algo semelhante? Desde já agradeço a colaboração. 5-env-lot.xml
×
×
  • 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.