private void BtnAssina_Click(object sender, RoutedEventArgs e) { try { if (_nfe == null) { CarregaArquivoNfe(); } if (_nfe == null) { return; } _nfe.Assina(); Funcoes.Mensagem(String.Format("NFe número {0} assinada com sucesso!", _nfe.infNFe.ide.nNF), "Atenção", MessageBoxButton.OK); ExibeNfe(); } catch (Exception ex) { if (!String.IsNullOrEmpty(ex.Message)) { Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK); } } }
/// <summary> /// /// </summary> /// <param name="numLote"></param> /// <param name="nfe"></param> /// <returns></returns> public RetornoNFeAutorizacao EnviarNFe(Int32 numLote, Classes.NFe nfe) { nfe.Assina(); //não precisa validar aqui, pois o lote será validado em ServicosNFe.NFeAutorizacao var servicoNFe = new ServicosNFe(ConfiguracaoServico.Instancia); return(servicoNFe.NFeAutorizacao(numLote, IndicadorSincronizacao.Assincrono, new List <Classes.NFe> { nfe })); }
/// <summary> /// Envia um evento do tipo "EPEC" /// </summary> /// <param name="idlote"></param> /// <param name="sequenciaEvento"></param> /// <param name="nfe"></param> /// <param name="veraplic"></param> /// <returns>Retorna um objeto da classe RetornoRecepcaoEvento com o retorno do serviço RecepcaoEvento</returns> public RetornoRecepcaoEvento RecepcaoEventoEpec(int idlote, int sequenciaEvento, Classes.NFe nfe, string veraplic) { var versaoServico = Auxiliar.VersaoServicoParaString(ServicoNFe.RecepcaoEvento, _cFgServico.VersaoRecepcaoEvento); if (String.IsNullOrEmpty(nfe.infNFe.Id)) { nfe.Assina().Valida(); } var detevento = new detEvento { versao = versaoServico, cOrgaoAutor = nfe.infNFe.ide.cUF, tpAutor = TipoAutor.taEmpresaEmitente, verAplic = veraplic, dhEmi = !String.IsNullOrEmpty(nfe.infNFe.ide.dhEmi) ? nfe.infNFe.ide.dhEmi : Convert.ToDateTime(nfe.infNFe.ide.dEmi).ToString("yyyy-MM-ddTHH:mm:sszzz"), tpNF = nfe.infNFe.ide.tpNF, IE = nfe.infNFe.emit.IE, dest = new dest { UF = nfe.infNFe.dest.enderDest.UF, CNPJ = nfe.infNFe.dest.CNPJ, CPF = nfe.infNFe.dest.CPF, IE = nfe.infNFe.dest.IE, vNF = nfe.infNFe.total.ICMSTot.vNF, vICMS = nfe.infNFe.total.ICMSTot.vICMS, vST = nfe.infNFe.total.ICMSTot.vST } }; var infEvento = new infEventoEnv { cOrgao = Estado.AN, tpAmb = nfe.infNFe.ide.tpAmb, CNPJ = nfe.infNFe.emit.CNPJ, CPF = nfe.infNFe.emit.CPF, chNFe = nfe.infNFe.Id.Substring(3), dhEvento = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz"), tpEvento = 110140, nSeqEvento = sequenciaEvento, verEvento = versaoServico, detEvento = detevento }; var evento = new evento { versao = versaoServico, infEvento = infEvento }; var retorno = RecepcaoEvento(idlote, new List <evento> { evento }, TipoRecepcaoEvento.Epec); return(retorno); }
private void GeranNfe(VersaoServico versaoServico, ModeloDocumento modelo) { try { #region Gerar NFe var numero = Funcoes.InpuBox("Criar e Enviar NFe", "Número da Nota:"); if (string.IsNullOrEmpty(numero)) { throw new Exception("O Número deve ser informado!"); } _nfe = GetNf(Convert.ToInt32(numero), modelo, versaoServico); _nfe.Assina(); //Descomente a linha abaixo se a SEFAZ de sua UF já habilitou a NT2015.002 _nfe.infNFeSupl = new infNFeSupl() { qrCode = EnderecadorDanfeNfce.ObterUrlQrCode(_nfe, _configuracoes.ConfiguracaoDanfeNfce) }; _nfe.Valida(); #endregion ExibeNfe(); var dlg = new SaveFileDialog { FileName = _nfe.infNFe.Id.Substring(3), DefaultExt = ".xml", Filter = "Arquivo XML (.xml)|*.xml" }; var result = dlg.ShowDialog(); if (result != true) { return; } var arquivoXml = dlg.FileName; _nfe.SalvarArquivoXml(arquivoXml); } catch (Exception ex) { if (!string.IsNullOrEmpty(ex.Message)) { Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK); } } }
private void GeranNfe(VersaoServico versaoServico, ModeloDocumento modelo) { try { #region Gerar NFe var numero = Funcoes.InpuBox(this, "Criar e Enviar NFe", "Número da Nota:"); if (String.IsNullOrEmpty(numero)) { throw new Exception("O Número deve ser informado!"); } _nfe = GetNf(Convert.ToInt32(numero), modelo, versaoServico); _nfe.Assina().Valida(); #endregion ExibeNfe(); var dlg = new SaveFileDialog { FileName = _nfe.infNFe.Id.Substring(3), DefaultExt = ".xml", Filter = "Arquivo XML (.xml)|*.xml" }; var result = dlg.ShowDialog(); if (result != true) { return; } var arquivoXml = dlg.FileName; _nfe.SalvarArquivoXml(arquivoXml); } catch (Exception ex) { if (!String.IsNullOrEmpty(ex.Message)) { Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK); } } }
private void BtnCriareEnviarNfce_Click(object sender, RoutedEventArgs e) { try { #region Cria e Envia NFe var numero = Funcoes.InpuBox(this, "Criar e Enviar NFCe", "Número da NFCe:"); if (String.IsNullOrEmpty(numero)) { throw new Exception("O Número deve ser informado!"); } var lote = Funcoes.InpuBox(this, "Criar e Enviar NFCe", "Id do Lote:"); if (String.IsNullOrEmpty(lote)) { throw new Exception("A Id do lote deve ser informada!"); } _nfe = GetNf(Convert.ToInt32(numero), ModeloDocumento.NFCe, _configuracoes.CfgServico.VersaoNFeAutorizacao); _nfe.Assina(); //não precisa validar aqui, pois o lote será validado em ServicosNFe.NFeAutorizacao var servicoNFe = new ServicosNFe(_configuracoes.CfgServico); var retornoEnvio = servicoNFe.NFeAutorizacao(Convert.ToInt32(lote), IndicadorSincronizacao.Assincrono, new List <Classes.NFe> { _nfe }); TrataRetorno(retornoEnvio); #endregion } catch (Exception ex) { if (!String.IsNullOrEmpty(ex.Message)) { Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK); } } }
private void BtnCriareEnviar3_Click(object sender, RoutedEventArgs e) { try { #region Cria e Envia NFe var numero = Funcoes.InpuBox("Criar e Enviar NFe", "Número da Nota:"); if (string.IsNullOrEmpty(numero)) { throw new Exception("O Número deve ser informado!"); } var lote = Funcoes.InpuBox("Criar e Enviar NFe", "Id do Lote:"); if (string.IsNullOrEmpty(lote)) { throw new Exception("A Id do lote deve ser informada!"); } _nfe = GetNf(Convert.ToInt32(numero), _configuracoes.CfgServico.ModeloDocumento, _configuracoes.CfgServico.VersaoNFeAutorizacao); _nfe.Assina(); //não precisa validar aqui, pois o lote será validado em ServicosNFe.NFeAutorizacao //A URL do QR-Code deve ser gerada em um objeto nfe já assinado, pois na URL vai o DigestValue que é gerado por ocasião da assinatura //Descomente a linha abaixo se a SEFAZ de sua UF já habilitou a NT2015.002 _nfe.infNFeSupl = new infNFeSupl() { qrCode = EnderecadorDanfeNfce.ObterUrlQrCode(_nfe, _configuracoes.ConfiguracaoDanfeNfce) }; //Define a URL do QR-Code. var servicoNFe = new ServicosNFe(_configuracoes.CfgServico); var retornoEnvio = servicoNFe.NFeAutorizacao(Convert.ToInt32(lote), IndicadorSincronizacao.Assincrono, new List <Classes.NFe> { _nfe }, true /*Envia a mensagem compactada para a SEFAZ*/); TrataRetorno(retornoEnvio); if (retornoEnvio.Retorno.infRec.nRec != string.Empty) { try { #region Consulta Recibo de lote servicoNFe = new ServicosNFe(_configuracoes.CfgServico); var retornoRecibo = servicoNFe.NFeRetAutorizacao(retornoEnvio.Retorno.infRec.nRec); TrataRetorno(retornoRecibo); //var dlg = new SaveFileDialog //{ // FileName = _nfe.infNFe.Id.Substring(3), // DefaultExt = ".xml", // Filter = "Arquivo XML (.xml)|*.xml" //}; //var result = dlg.ShowDialog(); //if (result != true) return; //var arquivoXml = dlg.FileName; string ch = _nfe.infNFe.Id.Substring(3); _nfe.SalvarArquivoXml(_path + "\\NFCe\\" + ch + ".xml"); Prot(_path + "\\NFCe\\" + ch + ".xml"); #endregion } catch (Exception ex) { if (!string.IsNullOrEmpty(ex.Message)) { Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK); } } } #endregion } catch (Exception ex) { if (!string.IsNullOrEmpty(ex.Message)) { Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK); } } }