NFeValidaXML

A função NFeValidaXML faz a validação schema de um documento XML.

Tipo de Retorno

Integer

Pacote

A função NFeValidaXML está definida dentro do pacote NF-eValidaXML.pkg.

Sintaxe

Move (NFeValidaXML({iTpXML}, {sArquivoXML}, {bExibeErro}, ;
                   &{sMensagem}, &{sErrosXML} [, ;
                   &{iQtdeErros}])) to {iRet}

Onde:

  • {iTpXML} é o tipo do documento que se deseja validar. As opções são:
    • 0 – cabeçalho (cabecMsg_v1.02)
    • 1 – NF-e assinada (nfe_v1.10.xsd)
    • 2 – Envio de Lote de NF-e (enviNFe_v1.10.xsd)
    • 3 – Retorno Lote de NF-e (retEnviNFe_v1.10.xsd)
    • 4 – Busca Resultado de NF-e (consReciNFe_v1.10.xsd)
    • 5 – Retorno de Resultado de NF-e (retConsReciNFe_v1.10.xd)
    • 6 – Cancelamento de NF-e (cancNFe_v1.07.xsd)
    • 7 – Retorno de Cancelamento de NF-e (retCancNFe_v1.07.xsd)
    • 8 – Inutilizacao de Numeração de NF-e (inutNFe_v1.07.xsd)
    • 9 – Retorno de Inutilização de NF-e (retInutNFe_v1.07.xsd)
    • 10 – Consulta Situação de NF-e (consSitNFe_v1.07.xsd)
    • 11 – Retorno de Consulta Situação de NF-e (retConsSitNFe_v1.07.xsd)
    • 12 – Consulta Status de Serviço (consStatServ_v1.07.xsd)
    • 13 – Retorno de Consulta Status de Serviço (retConsStatServ_v1.07.xsd)
    • 14 – Consulta Cadastro de Contribuintes (consCad_v1.01.xsd)
    • 15 – Retorno da Consulta Cadastro de Contribuintes (retConsCad_v1.01.xsd)
    • 16 – Proc NF-e (procNFe_v1.10.xsd)
    • 17 – Proc CancNF-e (procCancNFe_v1.07.xsd)
    • 18 – Proc InutNFe (procInutNFe_v1.07.xsd)
    • 19 – NF-e assinada (nfe_v2.00.xsd)
    • 20 – Envio de Lote de NF-e (enviNFe_v2.00.xsd)
    • 21 – Retorno Lote de NF-e (retEnviNFe_v2.00.xsd)
    • 22 – Busca Resultado de NF-e (consReciNFe_v2.00.xsd)
    • 23 – Retorno de Resultado de NF-e (retConsReciNFe_v2.00.xd)24 – Cancelamento de NF-e (cancNFe_v2.00.xsd)
    • 24 – Cancelamento de NF-e (cancNFe_v2.00.xsd)
    • 25 – Retorno de Cancelamento de NF-e (retCancNFe_v2.00.xsd)
    • 26 – Inutilizacao de Numeração de NF-e (inutNFe_v2.00.xsd)
    • 27 – Retorno de Inutilização de NF-e (retInutNFe_v2.00.xsd)
    • 28 – Consulta Situação de NF-e (consSitNFe_v2.00.xsd)
    • 29 – Retorno de Consulta Situação de NF-e (retConsSitNFe_v2.00.xsd)
    • 30 – Consulta Status de Serviço (consStatServ_v2.00.xsd)
    • 31 – Retorno de Consulta Status de Serviço (retConsStatServ_v2.00.xsd)
    • 32 – Consulta Cadastro de Contribuintes (consCad_v2.00.xsd)
    • 33 – Retorno da Consulta Cadastro de Contribuintes (retConsCad_v2.00.xsd)
    • 34 – Proc NF-e (procNFe_v2.00.xsd)
    • 35 – Proc CancNF-e (procCancNFe_v2.00.xsd)
    • 36 – Proc InutNFe (procInutNFe_v2.00.xsd)
    • 37 – Consulta Situação de NF-e (consSitNFe_v2.01.xsd)
    • 38 – Retorno de Consulta Situação de NF-e (retConsSitNFe_v2.01.xsd)
    • 39 – NF-e assinada (nfe_v3.00.xsd)
    • 40 – Envio de Lote de NF-e (enviNFe_v3.00.xsd)
    • 41 – Retorno Lote de NF-e (retEnviNFe_v3.00.xsd)
    • 42 – Busca Resultado de NF-e (consReciNFe_v3.00.xsd)
    • 43 – Retorno de Resultado de NF-e (retConsReciNFe_v3.00.xd)
    • 44 – Inutilizacao de Numeração de NF-e (inutNFe_v3.00.xsd)
    • 45 – Retorno de Inutilização de NF-e (retInutNFe_v3.00.xsd)
    • 46 – Consulta Situação de NF-e (consSitNFe_v3.00.xsd)
    • 47 – Retorno de Consulta Situação de NF-e (retConsSitNFe_v3.00.xsd)
    • 48 – Consulta Status de Serviço (consStatServ_v3.00.xsd)
    • 49 – Retorno de Consulta Status de Serviço (retConsStatServ_v3.00.xsd)
    • 50 – Proc NF-e (procNFe_v3.00.xsd)
    • 51 – Proc InutNFe (procInutNFe_v3.00.xsd)
    • 52 – NF-e assinada (nfe_v3.10.xsd)
    • 53 – Envio de Lote de NF-e (enviNFe_v3.10.xsd)
    • 54 – Retorno Lote de NF-e (retEnviNFe_v3.10.xsd)
    • 55 – Busca Resultado de NF-e (consReciNFe_v3.10.xsd)
    • 56 – Retorno de Resultado de NF-e (retConsReciNFe_v3.10.xd)
    • 57 – Inutilizacao de Numeração de NF-e (inutNFe_v3.10.xsd)
    • 58 – Retorno de Inutilização de NF-e (retInutNFe_v3.10.xsd)
    • 59 – Consulta Situação de NF-e (consSitNFe_v3.10.xsd)
    • 60 – Retorno de Consulta Situação de NF-e (retConsSitNFe_v3.10.xsd)
    • 61 – Consulta Status de Serviço (consStatServ_v3.10.xsd)
    • 62 – Retorno de Consulta Status de Serviço (retConsStatServ_v3.10.xsd)
    • 63 – Proc NF-e (procNFe_v3.10.xsd)
    • 64 – Proc InutNFe (procInutNFe_v3.10.xsd)
    • 65 – Proc Evento Canc NF-e (procEventoCancNFe_v1.00.xsd)
    • 66 – Proc Evento CC-e NF-e (procCCeNFe_v1.00.xsd)
    • 67 – Proc Evento EPEC (procEPEC_v1.00.xsd)
    • 68 – NF-e assinada (nfe_v4.00.xsd)
    • 69 – Envio de Lote de NF-e (enviNFe_v4.00.xsd)
    • 70 – Retorno Lote de NF-e (retEnviNFe_v4.00.xsd)
    • 71 – Busca Resultado de NF-e (consReciNFe_v4.00.xsd)
    • 72 – Retorno de Resultado de NF-e (retConsReciNFe_v4.00.xd)
    • 73 – Inutilizacao de Numeração de NF-e (inutNFe_v4.00.xsd)
    • 74 – Retorno de Inutilização de NF-e (retInutNFe_v4.00.xsd)
    • 75 – Consulta Situação de NF-e (consSitNFe_v4.00.xsd)
    • 76 – Retorno de Consulta Situação de NF-e (retConsSitNFe_v4.00.xsd)
    • 77 – Consulta Status de Serviço (consStatServ_v4.00.xsd)
    • 78 – Retorno de Consulta Status de Serviço (retConsStatServ_v4.00.xsd)
    • 79 – Proc NF-e (procNFe_v4.00.xsd)
    • 80 – Proc InutNFe (procInutNFe_v4.00.xsd)
  • {sArquivoXML} é o caminho completo do arquivo XML que você quer validar;
  • {bExibeErro} é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução;
  • &{sMsgResultado} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá a mensagem literal do resultado da chamada do Web Service;
  • &{sErrosXML} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá os erros de validação encontrados;
  • &{iQtdeErros} é um parâmetro opcional do tipo Integer que precisa ser passada por referência e que após a execução da função receberá a quantidade de erros de validação ocorridos;
  • {iRet} é o retorno da execução da função sendo que um valor diferente de 0 (zero) indica que houve algum erro de validação e 0 (zero) indica que não ocorreu nenhum erro e o arquivo é válido em relação ao seu schema.

Exemplo

Um exemplo de uso da função pode ser encontrado dentro da Workspace de Exemplo no objeto oExecutarButton na view ValidaXML.vw. Abaixo a função citada e a chamada da função da Library na linha 19.

Observações

  • Se você for usar a função NFeEnviar para fazer o envio da NF-e à SEFAZ, o uso da função NFeValidaXML não é necessário, uma vez que a função NFeEnviar antes de fazer o envio para a SEFAZ valida e assina o arquivo XML.