Boa Tarde, Seja bem vindos a mais uma video Aula. Essa aula estara disponivel as 18:00 do dia 23/12/2019.
Dica 2584. Vamos fazer consulta Recibo pelo uninfe Dll.
=====================================
// ---------------------------------------------------------------------------------------------------------
//Enviando XML de consulta recibo do lote de nfe enviado
// ---------------------------------------------------------------------------------------------------------
try
{
var xml = new ConsReciNFe
{
Versao = "4.00",
TpAmb = TpAmb,
NRec = UF + "3456789012345"
};
var configuracao = new Configuracao
{
CertificadoDigital = CertificadoSelecionado
};
var retAutorizacao = new RetAutorizacao(xml, configuracao);
retAutorizacao.Executar();
MessageBox.Show(retAutorizacao.RetornoWSString);
MessageBox.Show(retAutorizacao.Result.XMotivo);
}
catch (Exception ex)
{
CatchException(ex);
}
=========================================
PROCEDURE CONSULTA_RECIBO_NFE(RECEBE_VERSAO is string="",RECEBE_TP_AMBIENTE is int=0,RECEBE_UF is string="",RECEBE_NUM_RECIBO is string="")
retorno_xml is string=""
retorno_cstat is string=""
retorno_xmotivo is string=""
ver_certificado is Variant=SELECIONA_CERTIFICADO()
o_configuracao is Configuracao
o_configuracao.CertificadoDigital=ver_certificado
o_ConsReciNFe is ConsReciNFe
o_ConsReciNFe.Versao=RECEBE_VERSAO
o_ConsReciNFe.TpAmb=RECEBE_TP_AMBIENTE
o_ConsReciNFe.NRec=RECEBE_NUM_RECIBO
WHEN EXCEPTION IN
O_RetAutorizacao is Unimake.Business.DFe.Servicos.NFe.RetAutorizacao(o_ConsReciNFe, o_configuracao)
O_RetAutorizacao.Executar()
retorno_xml=O_RetAutorizacao.RetornoWSString retorno_cstat=O_RetAutorizacao.Result.CStat retorno_xmotivo=O_RetAutorizacao.Result.XMotivo
DO
retorno_xml="ERRO:"+ExceptionInfo(errFullDetails)
END
==================================
PROCEDURE INUTILIZACAO_NOTA_NFE(Srecebe_cnpj is string="",nRECEBE_TIPO_AMBIENTE is int=0,nRECEBE_EDT_CUF is int=0, ... NRECEBE_EDT_INUTILIZA_MODELO is int=0,nDT_INUTILIZA_NUMERO_INICIAL is int=0, ... nDT_INUTILIZA_NUMERO_FINAL is int= 0,nNEDT_INUTILIZA_SERIE is int=0, ... SEDT_INUTILIZA_JUSTIFICATIVA is string="", ... SEDT_INUTILIZA_ANO_DOIS_ULTIMOS_DIGITOS is string="")
retorno_xml is string=""
ver_certificado is Variant=SELECIONA_CERTIFICADO()
O_CONFIGURACAO is Configuracao
O_CONFIGURACAO.CertificadoDigital=ver_certificado
O_InutNFe is InutNFe
O_InutNFe.Versao="4.00"
o_InutNFeInfInut is InutNFeInfInut
o_InutNFeInfInut.Ano=SEDT_INUTILIZA_ANO_DOIS_ULTIMOS_DIGITOS // "19"
o_InutNFeInfInut.CNPJ = Srecebe_cnpj
o_InutNFeInfInut.CUF = nRECEBE_EDT_CUF// 43
o_InutNFeInfInut.Mod = NRECEBE_EDT_INUTILIZA_MODELO // 55
o_InutNFeInfInut.NNFIni =nDT_INUTILIZA_NUMERO_INICIAL// 2140
o_InutNFeInfInut.NNFFin = nDT_INUTILIZA_NUMERO_FINAL// 2140
o_InutNFeInfInut.Serie = nNEDT_INUTILIZA_SERIE // 1
o_InutNFeInfInut.TpAmb = nRECEBE_TIPO_AMBIENTE // 2// RECEBE_TIPO_AMBIENTE
o_InutNFeInfInut.XJust = SEDT_INUTILIZA_JUSTIFICATIVA //"Justificativa da inutilizacao de teste"
O_InutNFe.InfInut=o_InutNFeInfInut
WHEN EXCEPTION IN O_inutilizacao is Unimake.Business.DFe.Servicos.NFe.Inutilizacao(O_InutNFe, O_CONFIGURACAO) O_inutilizacao.Executar(); retorno_xml=O_inutilizacao.RetornoWSString
DO retorno_xml="ERRO:"+ExceptionInfo(errFullDetails)
END
RESULT(retorno_xml)
========================================
// BTN NFE INUTILIZAR
n_ambiente is int=EDT_AMBIENTE
n_EDT_CUF is int=EDT_CUF
ano_dois_ultimos_digitos is string=EDT_INUTILIZA_ANO[[3 TO 4]]
// ---------------------------------------------------------------------------------------------------------
//Enviando XML de inutilização
// ---------------------------------------------------------------------------------------------------------
try
{
var xml = new InutNFe
{
Versao = "4.00",
InfInut = new InutNFeInfInut
{
Ano = "19",
CNPJ = "06117473000150",
CUF = CUF,
Mod = ModeloDFe.NFe,
NNFIni = 57919,
NNFFin = 57919,
Serie = 1,
TpAmb = TpAmb,
XJust = "Justificativa da inutilizacao de teste"
}
};
var configuracao = new Configuracao
{
CertificadoDigital = CertificadoSelecionado
};
var inutilizacao = new Inutilizacao(xml, configuracao);
inutilizacao.Executar();
MessageBox.Show(inutilizacao.RetornoWSString);
MessageBox.Show(inutilizacao.Result.InfInut.XMotivo);
//Gravar o XML de distribuição se a inutilização foi homologada
switch (inutilizacao.Result.InfInut.CStat)
{
case 102: //Inutilização homologada
inutilizacao.GravarXmlDistribuicao(@"c:\testenfe\");
break;
default: //Inutilização rejeitada
inutilizacao.GravarXmlDistribuicao(@"c:\testenfe\");
break;
}
}
catch (Exception ex)
{
CatchException(ex);
}