Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Boa tarde.

Ao mandar transmitir uma nota com erro no cadastro de um produto, recebo mensagem me informando qual nota está com erro. Tem alguma rotina/procedimento que me informe onde está o problema? No caso, qual item da nota que está com informação incorreta.

Utilizando o validador de xml da sefaz/rs, eu posso saber onde está o erro de acordo com o exemplo abaixo. Há recurso semelhante no ACBR?

Ex.: Schema XML: The 'http://www.portalfiscal.inf.br/nfe:EXTIPI' element is invalid - The value '1' is invalid according to its datatype 'String' - The Pattern constraint failed.

Caminho: NFe[1]/infNFe/det[2]/prod/EXTIPI/
 
Seguem em anexo printscreen da mesagem do sistema e xml da nota com erro no item 2.
 
 

Validação NFe.png

NFe31150710579567000118550010000007971000122967.xml

  • Membros Pro
Postado

Minha estrutura está seguindo assim:

 

   try

      ACBrNFe.NotasFiscais.Clear;

      ACBrNFe.Configuracoes.Geral.ExibirErroSchema := True;

      nfeBuild(codES, ACBrNFe.NotasFiscais.Add.NFe);

      showStatus('Validando NF-e...');
      ACBrNFe.NotasFiscais.Valida;

      showStatus('Assinado NF-e...');
      ACBrNFe.NotasFiscais.Assinar;

      //o diretorio configurado para exportar nfe será o padrão
      ACBrNFe.NotasFiscais.Items[0].SaveToFile;

      Result := ACBrNFe.Enviar(codES, imprimir);

      ACBrNFe.WebServices.Consulta.NFeChave := ACBrNFe.WebServices.Retorno.ChaveNFe;

      Result := ACBrNFe.WebServices.Consulta.Executar;

  • Consultores
Postado

Bom dia,

Uma dica:

O método Valida verifica se o XML esta assinado ou não caso na esteja realiza a sua assinatura, portanto se faz necessário executar o Assinar e esta errado a sua sua execução após o Valida.

O método Assinar se encarrega de salvar em disco o XML assinado, portanto não se faz necessário executar o SaveToFile.

O método Enviar internamente executa o Assinar e depois o Valida sendo assim podemos resumir a sua rotina para:

 try

      ACBrNFe.NotasFiscais.Clear;

      ACBrNFe.Configuracoes.Geral.ExibirErroSchema := True;

      nfeBuild(codES, ACBrNFe.NotasFiscais.Add.NFe);

      showStatus('Assinado NF-e...');
      showStatus('Validando NF-e...');
      Result := ACBrNFe.Enviar(codES, imprimir);

      ACBrNFe.WebServices.Consulta.NFeChave := ACBrNFe.WebServices.Retorno.ChaveNFe;

      Result := ACBrNFe.WebServices.Consulta.Executar;

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

O resultado, mesmo com essa alteração continua o mesmo. Eu quero saber, onde é realizada a validação dos dados da nota. Por exemplo, se houver um dado incorreto: código ex da tipi, ncm em branco, cfop incorreto. Qual o nome da função que executa essa verificação?

  • Consultores
Postado

O componente através do método Validar submete o XML assinado ao schema.

Entenda o seguinte, essa validação não checa tudo, por exemplo, se tratando do CNPJ é verificado se o conteúdo da TAG possui 14 dígitos, retornando um erro caso a informação não tenha esse tamanho, mas não verifica se o mesmo é valido ou não, ou seja, realiza os cálculos para confrontar com os dígitos verificadores.

A propriedade FormatoAlerta esta com o conteúdo padrão?

TAG:%TAGNIVEL% ID:%ID%/%TAG%(%DESCRICAO%) - %MSG%.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 2 semanas depois ...
  • Consultores
Postado

Bom dia,

Desculpe pela demora, problemas aqui na empresa.

Você esta usando o componente configurado para Capicom ou OpenSSL?

Ao analisar o método Validar nota-se que as mensagens de alerta ao gerar o XML bem como as de falha de validação só serão apresentadas caso ocorrer falha na validação.

Caso contrario nada será mostrado. Para que as mensagens de falha de validação sejam mostradas a propriedade ExibirErroSchema tem que estar com o valor True.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

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