🔎 Inclusão da consulta para NFe/NFCe
commit: feb3782
A consulta da nota fiscal retorna a situação atual da NFe/NFCe na Base de Dados do Portal da Secretaria da Fazenda.
Ao efeturar uma consulta, será criado uma pasta, caso não exista, chamada consulta que conterá todos os xml's retornados das consultas.
Ao carregar o xml antes de efeturar a consulta, esse será atualizado e salvo, assim como um xml transmitido.
nfe->eventos->consSitNFe->consultar(chNFe, salvarXMLNota, vincularEvento);
- No primeiro parâmetro, string, informe a chave de acesso da nota.
- No segundo parâmetro, bool, informe true caso opte por atualizar e salvar o xml da nota fiscal. Será salvo na pasta nfe, da mesma forma que ocorre quando uma nfe é transmitida.
- No terceiro parâmetro, bool, informe true caso opte por vinclular o xml dos eventos enviados para essa nota, no mesmo xml que será salvo.
Ao informar o terceiro parâmetro como true, será criado a tag principal com o nome DFe que conterá os xml's nfeProc(contém o xml da nota fiscal) e a tag retConsSitNFe(contém todos os eventos emitidos para a nota fiscal).
Obs:Tendo em vista que a consulta só retorna informações e eventos da nota fiscal em questão, para atualizar e salvar o xml, será necessário carrega-lo antes de executar o método consultar.
Exemplo completo:
nfe->notafiscal->clear();
nfe->notafiscal->loadFromFile("/path/12345678901234567890123456789012345678901234-nfe.xml");
//configurando modelo do documento fiscal, são web service diferentes
nfe->configuracoes->set_ModeloDF(nfe->notafiscal->NFe->items->value(0)->infNFe->ide->get_mod());
//enviando consulta
nfe->eventos->consSitNFe->consultar("12345678901234567890123456789012345678901234", true, true);
//ou caso queira pegar a chave de acesso diretamente do xml carregado
//nfe->eventos->consSitNFe->consultar(nfe->notafiscal->NFe->items->value(0)->get_chNFe(), true, true);
//caso não queira vincular o xml de evento
//nfe->eventos->consSitNFe->consultar(nfe->notafiscal->NFe->items->value(0)->get_chNFe(), true, false);
//caso não queira salvar o xml atualizado.
//nfe->eventos->consSitNFe->consultar(nfe->notafiscal->NFe->items->value(0)->get_chNFe(), false, false);
//caso queira "navegar" pelos dados retornados, basta entrar em retorno.
//nfe->eventos->consSitNFe->retorno->...
⤴️ Mudança no método para enviar eventos
Foi retirado do método para enviar evento, enviarEvento(idLote, salvarNotaVinculada), o parâmetro salvarNotaVinculada. Agora o método contém apénas um parâmetro, idLote.
Não há necessidade de salvar o xml do evento junto com o xml original, estava lotando a pasta de arquivos desnecessários.
🚀🖱😉