Ir para conteúdo
  • Cadastre-se

Recommended Posts

Postado

Boa tarde.
Ao realizar a validação de uma nota, notei que a mensagem de alerta gerada na Unit ACBrNFeNotasFiscais está exibindo a tag %TAGNIVEL% de forma literal para o usuário final. Estamos implementando um controle melhor das mensagens de rejeição e identifiquei essa situação no momento em que a Unit ACBrNfeNotasFiscais faz a verificação se a nota é valida.

if EstaVazio(AXML) then
begin
  Erro := ACBrStr('NFe não encontrada no XML');
  NotaEhValida := False;
end
else
  NotaEhValida := SSL.Validar(AXML, GerarNomeArqSchema(ALayout, VerServ), Erro);

if not NotaEhValida then
begin
  FErroValidacao := ACBrStr('Falha na validação dos dados da nota: ') +
	IntToStr(NFe.Ide.nNF) + sLineBreak + FAlertas;
  FErroValidacaoCompleto := FErroValidacao + sLineBreak + Erro;

  raise EACBrNFeException.CreateDef(
	IfThen(Configuracoes.Geral.ExibirErroSchema, ErroValidacaoCompleto,
	ErroValidacao));
end;


Identificação: No constructor da classe TACBrXmlWriterOptions.Create, a variável FFormatoAlerta é inicializada com: 'TAG:%TAGNIVEL% ID:%ID%/%TAG%(%DESCRICAO%) - %MSG%.'

No entanto, na procedure wAlerta, o processamento da mensagem não realiza o StringReplace para a tag %TAGNIVEL%, resultando em mensagens "sujas" como no exemplo abaixo:

Msg: Falha na validação... TAG:%TAGNIVEL% ID:X17/cMunFG(Código do Município FG) - Conteúdo inválido.
 

Sugestão de Melhoria: Alterar o valor padrão de FFormatoAlerta no constructor para um formato que utilize apenas as tags que são efetivamente tratadas pelo componente, tornando a leitura mais amigável.
 

Novo Formato Sugerido: FFormatoAlerta := 'TAG: %TAG% (ID:%ID%) - %DESCRICAO% -> %MSG%';

Resultado esperado com a alteração: Msg: Falha na validação... TAG: cMunFG (ID:X17) - Código do Município FG -> Conteúdo inválido.

Obrigado e tenha um ótimo dia.

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...