Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
Postado

Pessoal, estou desenvolvendo uma API em Node.JS e preciso realizar a validação do schema XML, mas de forma que eu consigo obter o retorno, tratar e exibir para o meu usuário.
O método NFE_Validar ne retornou apenas o código. Nos logs até tem a descrição, mas não consegui pegar ela para exibir de forma especifica.
Teria algum outro método do ACBr ou de terceiros onde eu posso validar e receber o retorno, para exibir ao usuário?

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

  • Consultores
  • Solution
Postado

Bom dia!

Você pode utilizar o comando NFe_UltimoRetorno para esta finalidade.

Veja como fica no Log:

Quote

11/12/24 10:56:18:791 - LIB_UltimoRetorno
11/12/24 10:56:18:796 -    MoverStringParaPChar. StrLen:252, BufLen:1024
11/12/24 10:56:18:802 -    Codigo:-11, Mensagem:Falha na valida[195][167][195][163]o dos dados da nota: 1[CR][LF][CR][LF] --> 1871 - Element '{http://www.portalfiscal.inf.br/nfe}NFe': Missing child element(s). Expected is one of ( {http://www.portalfiscal.inf.br/nfe}infNFeSupl, {http://www.w3.org/2000/09/xmldsig#}Signature ).[LF]

Fiz um implementação no exemplo C# bem simplória apenas para ilustrar:

public string UltimoRetorno()
{
  var bufferLen = BUFFER_LEN;
  var buffer = new StringBuilder(bufferLen);
  var method = GetMethod<NFE_UltimoRetorno>();
  var ret = ExecuteMethod(() => method(buffer, ref bufferLen));

  return ProcessResult(buffer, bufferLen);
}

private void button1_Click(object sender, EventArgs e)
{
  CheckNFeLista(true);
  ACBrNFe.Validar();

  rtbRespostas.AppendText(ACBrNFe.UltimoRetorno());
}

Meu resultado foi:

Captura de tela 2024-12-11 105830.jpg

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
49 minutos atrás, Diego Foliene disse:

Bom dia!

Você pode utilizar o comando NFe_UltimoRetorno para esta finalidade.

Veja como fica no Log:

Fiz um implementação no exemplo C# bem simplória apenas para ilustrar:

public string UltimoRetorno()
{
  var bufferLen = BUFFER_LEN;
  var buffer = new StringBuilder(bufferLen);
  var method = GetMethod<NFE_UltimoRetorno>();
  var ret = ExecuteMethod(() => method(buffer, ref bufferLen));

  return ProcessResult(buffer, bufferLen);
}

private void button1_Click(object sender, EventArgs e)
{
  CheckNFeLista(true);
  ACBrNFe.Validar();

  rtbRespostas.AppendText(ACBrNFe.UltimoRetorno());
}

Meu resultado foi:

Captura de tela 2024-12-11 105830.jpg

Entendi, obrigado pela dica.

  • Curtir 1

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

  • Consultores
Postado
17 minutes ago, valterpatrick said:

Entendi, obrigado pela dica.

Lembrando que a UltimoRetorno também vai lhe devolver um inteiro com código de status.

Você precisa ler o conteúdo do buffer que passou no parâmetro e ele vai estar preenchido com a informação.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...