NFeEnviaEPEC

A função NFeEnviaEPEC realiza o envio do EPEC (Evento Prévio de Emissão em Contingência).

O EPEC é uma opção de contingência que substituiu o DPEC.

Para usar o EPEC, os passos básicos são:

  1. Constatado algum impedimento para transmissão da NF-e;
  2. Decisão da adoção do EPEC em detrimento das demais opções de contingência;
  3. Gerar a NF-e com a tag tpEmis=4.
  4. Efetuar o envio com esta função.
  5. Gerar o DANFE informando o protocolo de registro do EPEC.
  6. Efetuar a circulação da mercadoria com o DANFe gerado.
  7. Assim que os problemas que impediram a NF-e de ser transmitida forem sanados, é necessário transmitir a NF-e para a SEFAZ sem nenhuma alteração no XML e mantendo tpEmis=4.

Portanto, é importante que o desenvolvedor valide tudo que for possível no XML que será transmitido posteriormente e impeça qualquer tipo de alteração no mesmo depois que o EPEC for autorizado.

Tipo de Retorno

Integer

Pacote

O função NFeEnviaEPEC está definida dentro do pacote NF-eEnviaEPEC.pkg.

Sintaxe

Move (NFeEnviaEPEC(&{vParams})) to {iRet}

Onde:

  • &{vParams} é uma variável do tipo tNFeEnviaEPEC e é passada por referência contendo campos com os parâmetro para execução da função e campos onde a função devolve informações, conforme abaixo:
    • sSiglaWS: sigla do WS para onde será enviado o evento. Se for passado em branco, por padrão será usado "AN"
    • iTpAmbiente: ambiente para envio (1-produção/2-homologação).
    • sCertificado: é a string que representa o certificado digital que será usado na transmissão dos dados. Se não for informado, uma tela será exibida para o usuário escolher um dos certificados instalados para o usuário corrente. Veja mais detalhes sobre como informar este parâmetro clicando aqui.
    • sVersao: versão do schema XML de comunicação. Se não for informado, será usado "4.00".
    • sCaminhoXMLNFe: caminho do arquivo XML da NF-e cujo EPEC será transmitido. O XML deve estar sem assinatura e o tpEmis deve ser igual a 4.
    • sCaminhoXMLEPEC: caminho completo do arquivo XML que será gerado pela função se a transmissão do EPEC for bem sucedida.
    • sdhEvento: data e hora do evento. Se não for informado, a DLL usa a data/hora da máquina. Se desejar informar, usar o formato "AAA-MM-DD HH:MM:SS".
    • sProxy: é usado para informar o endereço do servidor proxy, se necesário. Por exemplo ’http://proxyserver:port’. Verificar com o cliente qual é o endereço do servidor proxy e a porta https, pois a porta padrão do https é 443, e sendo assim teríamos algo como ’http://192.168.15.1:443’..
    • sUsuario: é usado para informar o usuário para autenticação no proxy, se necessário.
    • sSenha: é usado informar a senha de autenticação no proxy, se necessário.
    • sLicenca: é usado para informar a chave da licença de uso ou registro quando a função é utilizada em ambiente de produção.
    • bExibeErro: é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução.
    • sMsgDados: retorna a mensagem XML do evento EPEC criado pela DLL que foi enviado ao WS.
    • sMsgRetWS: retorna a mensagem XML de resposta do WS.
    • icStat: retorna o resultado da chamada do WS.
    • sMsgResultado: retorna a literal do resultado da chamada do WS.
    • snProtocoloEPEC: retorna o número do protocolo de registro do Evento.
    • sdhProtocoloEPEC: retorna a data e hora de registro do Evento.
    • sListaChaveNFE: retorna uma lista de até 50 chaves de NF-e pendentes de conciliação no AN, isto é, que ainda não foram transmitidas para a SEFAZ de origem.
  • {iRet} retorno da função, onde 0 (zero) indica que a comunicação com o Web Service foi bem sucedida e qualquer valor diferente de 0 (zero) indica que houve erro.

Observação

  • O parâmetro sVesão caso não seja informado, passa a se informar "4.00" a partir da versão 2021/01. Versôes anteriores informam "1.00".
  • Esta função está disponível a partir da versão 2019/01.

Não encontrou o que precisava, entre em contato conosco.