Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 23-01-2026 em todas as áreas
-
Exemplos (casos clássicos fiscais) RoundABNT(2.345, 2); // 2.34 RoundABNT(2.355, 2); // 2.36 RoundABNT(1.005, 2); // 1.00 RoundABNT(1.015, 2); // 1.02 RoundABNT(10.125, 2); // 10.12 RoundABNT(10.135, 2); // 10.14 Por que isso é ideal para ICMS / financeiro? Round() do Delphi não segue ABNT Double introduz erro binário Currency evita erro de ponto flutuante Essa função bate com auditoria fiscal e contábil A regra de arredondamento da ABNT (NBR 5891) é basicamente o arredondamento bancário (round half to even): function RoundABNT(const AValue: Currency; Decimals: Integer): Currency; var Factor : Currency; Temp : Currency; IntPart : Integer; Fraction : Currency; SignVal : Integer; begin if AValue < 0 then SignVal := -1 else SignVal := 1; Factor := 1; while Decimals > 0 do begin Factor := Factor * 10; Decimals := Decimals - 1; end; Temp := AValue * Factor; IntPart := Trunc(Temp); Fraction := Abs(Temp - IntPart); if Fraction > 0.5 then Result := (IntPart + SignVal) / Factor else if Fraction < 0.5 then Result := IntPart / Factor else begin // Fraction = exatamente 0.5 if (Abs(IntPart) mod 2) <> 0 then Result := (IntPart + SignVal) / Factor else Result := IntPart / Factor; end; end;2 pontos
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Grato por responder Daniel Simões. Sim amigo, todo aprendizado partiu dos demos existentes. A única diferença é que como não sou muito bom com as classes fiz minha próprias funções.1 ponto
-
1 ponto
-
Esse prazo foi dado para todas as prefeituras q utilizam Issnet Acredito que será adiado mais uma vez1 ponto
-
ok, vou fazer teste e retorno com o que encontrei1 ponto
-
No caso o modelo para enviar o .INI do serviço ficou sendo o padrão nacional? Pois, pelo que entendi a Coplan criou um serviço de repassar o xml para o portal nacional.1 ponto
-
1 ponto
-
Bom dia, O que eu fiz, foi apagar a pasta dos Schemas e não só sobregravar. Gratidão a todos que responderam.1 ponto
-
1 ponto
-
A correção do tópico abaixo resolve esse problema!1 ponto
-
Para a Betha o código que tem no SVN está funcionando para a emissão! bastando informar corretamente os dados após você pega a chave DPS e consulta ACBrNFSeX1.ConsultarDPSPorChave(xChaveDPS); até ele retornar que está processado com sucesso e após consulta com a Chave da NFSe que ele vai retornar o xml da NFSe ACBrNFSeX1.ConsultarNFSePorChave(xChaveNFSe);1 ponto
-
Certificado estava ok. Voltou a funcionar, fiz uma verificação e descobri, o servidor onde estava instalado o serviço que gerencia os boletos não estava resolvendo nomes, algum problema no DNS, após reiniciar voltou. É cada uma que acontece. Muito obrigado por ajudar.1 ponto
-
@Milton Campanhã, não posso acreditar numa insanidade dessas. Isso não faz sentido nenhum. parece logica de bebado kkkk.1 ponto
-
Seu ACBrNFSeXServicos.ini está desatualizado (possivelmente terá que atualizar todo o AcBR), ou tem alguma copia dele no diretório do seu executável que não está atualizado.1 ponto
-
O problema era causado pelo codigo nacional do serviço prestado que estava errado O codigo CORRETO era 08.01 .Anteriormente estava 080101 (ERRADO!) Sim, é um webservice mal feito este da IssNet que retorna um erro generico "s:Client - Error" para um valor errado no XML da nota. Mas o que importa é que foi resolvido graças a ajuda do colega @nenelvida Valeu demais Colega! Peço a algum admin que troque o titulo do topico pois ele se refere ao erro anterior que era causado quando a opção de apiProria está ativo. Sugiro algo como NFSE Goiânia: Provedor IssNet retorna "Erro de Conexão: s:Client - Error; Correção:"1 ponto
-
https://forum.nfsebrasil.com.br/t/e999-erro-nao-catalogado/1004/5 lá tem bastante informação do pessoal que tá passando perrengue que nem a gente kkkk1 ponto
-
1 ponto
-
Estou com o mesmo problema, veio com 18, autorizado50260105861238000125550010003425821832327562.xml Segue xml para analise, acredito que deveria fazer um tratamento para quando nao achar, estivesse fora da faixa, não apresentar erro, deixar como nenhum ou nao importar o grupo1 ponto
-
Mesma coisa aqui @Italo Giurizzato Junior continuar utilizando a procedure TACBrNFSeProviderABRASFv2.TratarRetornoEmitir e gera "access violation" ao ler a tag NumNFSe := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('Numero'), tcStr); Se utilizar o padrão nacional TACBrNFSeProviderPadraoNacional.TratarRetornoEmitir gera "access violation" no parse pois o retorno um xml Com relação ao erro na sequencia do xml de envio "Unexpected tag in XML input: CodigoNbs ", consegui implementado a geração do serviço direto na classe TNFSeW_Tinus203; function TNFSeW_Tinus203.GerarServico: TACBrXmlNode; var Item: string; begin Result := CreateElement('Servico'); Result.AppendChild(GerarValores); Result.AppendChild(AddNode(tcStr, '#20', 'IssRetido', 1, 1, NrOcorrIssRetido, FpAOwner.SituacaoTributariaToStr(NFSe.Servico.valores.IssRetido), DSC_INDISSRET)); Result.AppendChild(AddNode(tcStr, '#21', 'ResponsavelRetencao', 1, 1, NrOcorrRespRetencao, FpAOwner.ResponsavelRetencaoToStr(NFSe.Servico.ResponsavelRetencao), DSC_INDRESPRET)); Item := FormatarItemServico(NFSe.Servico.ItemListaServico, FormatoItemListaServico); Result.AppendChild(AddNode(tcStr, '#29', 'ItemListaServico', 1, 8, NrOcorrItemListaServico, Item, DSC_CLISTSERV)); Result.AppendChild(AddNode(tcStr, '#30', 'CodigoCnae', 1, 9, NrOcorrCodigoCNAE, OnlyNumber(NFSe.Servico.CodigoCnae), DSC_CNAE)); Result.AppendChild(AddNode(tcStr, '#31', 'CodigoTributacaoMunicipio', 1, 20, NrOcorrCodTribMun_1, NFSe.Servico.CodigoTributacaoMunicipio, DSC_CSERVTRIBMUN)); Result.AppendChild(AddNode(tcStr, '#32', 'CodigoNbs', 1, 9, NrOcorrCodigoNBS, NFSe.Servico.CodigoNBS, DSC_CMUN)); Result.AppendChild(AddNode(tcStr, '#33', 'Discriminacao', 1, 2000, NrOcorrDiscriminacao_1, StringReplace(NFSe.Servico.Discriminacao, Opcoes.QuebraLinha, FpAOwner.ConfigGeral.QuebradeLinha, [rfReplaceAll]), DSC_DISCR)); Result.AppendChild(AddNode(tcStr, '#34', 'CodigoMunicipio', 1, 7, NrOcorrCodigoMunic_1, OnlyNumber(NFSe.Servico.CodigoMunicipio), DSC_CMUN)); Result.AppendChild(GerarCodigoPaisServico); Result.AppendChild(AddNode(tcInt, '#36', 'ExigibilidadeISS', NrMinExigISS, NrMaxExigISS, NrOcorrExigibilidadeISS, StrToInt(FpAOwner.ExigibilidadeISSToStr(NFSe.Servico.ExigibilidadeISS)), DSC_INDISS)); Result.AppendChild(AddNode(tcInt, '#38', 'MunicipioIncidencia', 7, 7, NrOcorrMunIncid, NFSe.Servico.MunicipioIncidencia, DSC_MUNINCI)); Result.AppendChild(AddNode(tcStr, '#39', 'NumeroProcesso', 1, 30, NrOcorrNumProcesso, NFSe.Servico.NumeroProcesso, DSC_NPROCESSO)); Result.AppendChild(GerarListaItensServico); end;1 ponto
-
Para mim está funcionando na emissão porem assincrono então depois de 1 minuto eu uso a opção de consultar NFSe por RPS e pego os dados da nota e xml, caso de erro na emissão do ADN precisa olhar no portal da prefeitura pois ela não devolve no webservice, pelo menos não consegui esse resultado nem consultando o lote pelo número do protocolo. Agora sobre o cancelamento, a Etherium obriga a enviar alem do codigo o motivo em texto, então eu fiz uma alteração no Etherium.provider.pas procedure TACBrNFSeProviderEtherium204.Configuracao; inclui o seguinte : CancPreencherMotivo := True e manda o valor ao chamar ACBrNFSeX1.CancelarNFSe with ConfigGeral do begin ConsultaPorFaixaPreencherNumNfseFinal := True; CancPreencherMotivo := True; <------------- end; ao alterar o Etherium.provider.pas precisei refazer a instalação do componente.1 ponto
-
1 ponto
-
@Anderson Grolli aguarde alguns minutos e tente usar a consulta do provedor pelo número da RPS enviada, verifica se funciona. No demo tem essa opção implementada.1 ponto
-
@Ederson Selvati Obrigado pela contribuição ! Criado a tarefa ACBR-8800 para validação; Assim que concluida reportamos aqui.1 ponto
-
Bom dia @Reginaldo Rodrigues Pereira Foi ajustado. Só atualizar o ACBr: https://sourceforge.net/p/acbr/code/44204/tree//trunk2/Fontes/ACBrDFe/ACBrNFSeX/Provedores/Coplan.Provider.pas?diff=51af3fbbe88f3d037b5f1a76:442031 ponto
-
Olá comunidade ! Foi publicada a Portaria SRE Nº 277 definindo a obrigatoriedade do preenchimento do responsável técnico para as NF-e e NFC-e emitidas no estado de Minas Gerais. É importante lembrar que os membros da comunidade que são Corporativo e PRO tem acesso aos cursos disponibilizados pelo ACBr e um deles é o Responsável Técnico na NF-e onde o conceito de responsável técnico é explicado além de ser demonstrado na prática como preencher as informações na solução ACBr.1 ponto
-
Olá, pessoal! Se você está implementando a NFSe no Padrão Nacional e está encontrando dificuldades para obter o XML da nota após o envio, este guia foi feito para você. Muitas vezes, a confusão acontece porque o fluxo do Padrão Nacional exige a distinção clara entre o DPS e a NFSe. Abaixo, detalhamos o fluxo correto para consultar e baixar o XML definitivo. O Fluxo de Consulta Correto Diferente de outros provedores, no Padrão Nacional, o ideal é realizar uma "ponte" entre a Chave do DPS e a Chave da NFSe. 1. Consulta pela Chave do DPS (42 dígitos) O segredo para o sucesso é utilizar a Chave do DPS. Essa chave possui 42 dígitos e o ideal é que você a tenha armazenado em seu banco de dados no momento da emissão. Delphi/Lazarus // LIdDPS deve conter a chave de 42 dígitos do DPS ACBrNFSeX.ConsultarDPSPorChave(LIdDPS); 2. Obtenção da NFSe através do retorno Se a consulta do DPS for bem-sucedida, o componente receberá o ID da Nota Fiscal. Com esse ID, fazemos a consulta final para obter o XML completo da NFSe: Delphi/Lazarus if ACBrNFSeX.WebService.ConsultaNFSeporRps.Sucesso then begin // Agora consultamos pela Chave da Nota retornada, e não mais pelo DPS ACBrNFSeX.ConsultarNFSePorChave(ACBrNFSeX.WebService.ConsultaNFSeporRps.idNota); // O XML da NFSe estará disponível aqui: ShowMessage(ACBrNFSeX.NotasFiscais.Items[0].XmlNfse); end; Caso esteja validando um processo de emissão que foi interrompido e a consulta do DPS não foi realizada com sucesso você pode entender que o DPS não foi recebido e a nota não existe. Observações Importantes Diferença de Chaves: Não confunda a Chave do DPS (enviada) com a Chave da NFSe (gerada pelo governo). Ambas são importantes, mas para baixar o XML final, a consulta por chave de nota é a mais precisa. Persistência de Dados: Salve sempre a chave de 42 dígitos do DPS no seu banco de dados. Ela é o seu "passaporte" para localizar a nota caso haja uma queda de conexão ou timeout. Provedor Nacional: Este fluxo é o padrão esperado para prefeituras que aderiram ao convênio da NFSe Nacional via Ambiente de Dados Nacional (ADN). Conclusão Seguindo esses passos, você garante que sua aplicação consiga recuperar o XML da NFSe de forma consistente, evitando erros de "Nota não encontrada" ou retornos vazios. A chave é entender que o processo é uma escada: Dados do DPS -> Consulta Chave DPS -> Consulta Chave NFSe -> XML Final. Esperamos que esta dica ajude a agilizar as implementações de vocês! Créditos à comunidade ACBr e ao amigo @icozeira pelo compartilhamento de experiências!1 ponto
