Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3358 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde
observando que no componente já existia esse método porem no monitor plus ainda nao.. decidi implementar ele
segue a unit alterada, e tive que fazer uma correção no fonte da nfe (ACBrNFeNotasFiscais.pas) no qual nas regras 505 e 506 que sao facultativas nao validavam se a data estava vazia ou nao. Como nao achei um jeito mais elegante de fazer a validação eu fiz assim
(DateToStr(NFe.Ide.dSaiEnt) <> '30/12/1899')

para executar é NFe.ValidarNfeRegraNegocios(cArqXML) onde cArqXml é o path para o xml
caso esta tudo valido ele ira retornar Ok caso contrario ele ira retornar Erro e a lista de erros
isso é util pois vc consegue validar antes mesmo de enviar a Sefaz e com uma msg mais clara sobre o erro

Exemplo retorno valido
OK:
Exemplo retorna invalido
Erro:
Erro(s) nas Regras de negócios da nota 123
767-Rejeição: NFC-e com somatório dos pagamentos diferente do total da Nota Fiscal
625-Rejeição: Inscrição SUFRAMA deve ser informada na venda com isenção para ZFM
736-Rejeição: NFC-e com grupo de Veículos novos

 

 

 

 

ACBrNFeNotasFiscais.pas

DoACBrNFeUnit.pas

  • Curtir 2

Alberto Leal

www.tecwebcg.com

 

  • Fundadores
Postado

Muito obrigado pela colaboração...

Enviei para o SVN com pequenos ajustes...

As Datas em ObjectPascal são do tipo Double... O valor "30/12/1899", representa 0 (zero)... Se o valor for positivo, é o numero de dias a partir dessa data, negativo, dias para trás dessa data... Nas decimais ele armazena o numero de segundos desde a meia noite...

Portanto, poderia ser escrito como: "(NFe.Ide.dSaiEnt <> 0)"

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Este tópico foi criado há 3358 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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...