/// <summary> /// Responsavel por imprimir NFCe apos autorização direto na impressora padrão ou definida na configuração /// </summary> private void ImprimirNFCe(string xmlNFce, ConfiguracaoDanfeNfce configuracaoDanfe, string cIdToken, string csc, string nomedaimpressora = null) { try { nfeProc proc = null; NFeZeus nfe = null; string arquivo = string.Empty; try { proc = new nfeProc().CarregarDeXmlString(xmlNFce); arquivo = proc.ObterXmlString(); } catch (Exception) { nfe = new NFe.Classes.NFe().CarregarDeArquivoXml(xmlNFce); arquivo = nfe.ObterXmlString(); } DanfeNativoNfce impr = new DanfeNativoNfce(arquivo, configuracaoDanfe, cIdToken, csc, 0 /*troco*//*, "Arial Black"*/); impr.Imprimir(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Responsavel por Enviar NFe para Sefaz /// </summary> /// <param name="cFgServico"></param> /// <param name="numLote"></param> /// <param name="nfe"></param> /// <returns></returns> public RetornoNFeAutorizacao EnviarNFe(int numLote, Classes.NFe nfe, ConfiguracaoServico cFgServico) { //nfe.Assina(cFgServico); //não precisa validar aqui, pois o lote será validado em ServicosNFe.NFeAutorizacao var servicoNFe = new ServicosNFe(cFgServico); var retornoEnvio = servicoNFe.NFeAutorizacao(numLote, IndicadorSincronizacao.Assincrono, new List <Classes.NFe> { nfe }, false /*Envia a mensagem compactada para a SEFAZ*/); var recibo = servicoNFe.NFeRetAutorizacao(retornoEnvio.Retorno.infRec.nRec); var cStat = this.VerificarcStat(recibo.RetornoCompletoStr, "protNFe", "infProt"); if (cStat == "100") { //Salva NFe+protNFe na tag nfeProc apos autorização da NFe this.AdicionarNFeProc(nfe.infNFe.Id.Substring(3), nfe, cFgServico); } if (nfe.infNFe.ide.mod == ModeloDocumento.NFCe) { this.SalvarXmlArquivo(nfe.infNFe.Id.Substring(3) + "-nfce", nfe.ObterXmlString(), cFgServico.tpAmb); } else { this.SalvarXmlArquivo(nfe.infNFe.Id.Substring(3) + "-nfe", nfe.ObterXmlString(), cFgServico.tpAmb); } return(retornoEnvio); }
private static string ObtemUrlQrCode(NFeZeus nfce, string idToken, string csc) { var urlQrCode = nfce.infNFeSupl == null ? nfce.infNFeSupl.ObterUrlQrCode(nfce, _configuracaoDanfeNfce.VersaoQrCode, idToken, csc) : nfce.infNFeSupl.qrCode; return(urlQrCode); }
private string ObtemUrlQrCode(NFeZeus nfce, string idToken, string csc) { var urlQrCode = nfce.infNFeSupl == null ? nfce.infNFeSupl.ObterUrlQrCode(nfce, _versaoQrCode, idToken, csc) : nfce.infNFeSupl.qrCode; return(urlQrCode); }
private NFe.Classes.NFe GetNf(int numero) { var nfe = new NFe.Classes.NFe { infNFe = ObterInf(numero) }; return(nfe); }
private NFe.Classes.NFe GetNf(int numero, List <Produto> produtos) { var nfe = new NFe.Classes.NFe { infNFe = ObterInf(numero, produtos) }; return(nfe); }
private void ImprimirDanfeNfce(NfceLayoutQrCode layout) { try { #region Carrega um XML para a variável var arquivoXml = Funcoes.BuscarArquivoXml(); if (string.IsNullOrEmpty(arquivoXml)) { return; } nfeProc nfeProc; try // Tenta carregar NFeProc { nfeProc = FuncoesXml.ArquivoXmlParaClasse <nfeProc>(arquivoXml); } catch (Exception) // Carrega NFCe sem protocolo { NFe.Classes.NFe nfeContingenciaSemProc = FuncoesXml.ArquivoXmlParaClasse <NFe.Classes.NFe>(arquivoXml); nfeProc = new nfeProc() { NFe = nfeContingenciaSemProc }; } if (nfeProc.NFe.infNFe.ide.mod != ModeloDocumento.NFCe) { throw new Exception("O XML informado não é um NFCe!"); } #endregion #region Abre a visualização do relatório para impressão var danfe = new DanfeFrNfce(proc: nfeProc, configuracaoDanfeNfce: _configuracoes.ConfiguracaoDanfeNfce, cIdToken: _configuracoes.CIdToken, csc: _configuracoes.Csc, arquivoRelatorio: string.Empty); danfe.Visualizar(); //danfe.Imprimir(); //danfe.ExibirDesign(); //danfe.ExportarPdf(@"d:\teste.pdf"); #endregion } catch (Exception ex) { if (!string.IsNullOrEmpty(ex.Message)) { Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK); } } }
public void GerarXmlNfe() { // EXERCICIO: trate os retornos da Sefaz e armazene o status da nota de acordo NFeSelected.StatusNota = 4; SalvarAtualizarNFe(); infNFe InfNFe = new infNFe { versao = Auxiliar.VersaoServicoParaString(_configuracoes.CfgServico.VersaoNFeAutorizacao), ide = GetIdentificacao(), emit = GetEmitente(), transp = GetTransporte() }; if (NFeSelected.NfeDestinatario.CpfCnpj != null) { InfNFe.dest = GetDestinatario(); } for (var i = 0; i < 1; i++) { InfNFe.det.Add(GetDetalhe(i, InfNFe.emit.CRT)); } InfNFe.total = GetTotal(); _nfe = new NFe.Classes.NFe(); _nfe.infNFe = InfNFe; _nfe.Assina(); string nomeArquivoXml = @"C:\T2Ti\NFe\XML\" + NFeSelected.ChaveAcesso + NFeSelected.DigitoChaveAcesso + ".xml"; _nfe.SalvarArquivoXml(nomeArquivoXml); var servicoNFe = new ServicosNFe(_configuracoes.CfgServico); var retornoEnvio = servicoNFe.NFeAutorizacao(1, IndicadorSincronizacao.Assincrono, new List <NFe.Classes.NFe> { _nfe }); // consultar protocolo var retornoConsulta = servicoNFe.NfeConsultaProtocolo(NFeSelected.ChaveAcesso + NFeSelected.DigitoChaveAcesso); _protocolo = retornoConsulta.Retorno.protNFe.infProt.nProt; string mensagem = ""; foreach (var atributos in Funcoes.LerPropriedades(retornoEnvio.Retorno)) { mensagem += atributos.Key + " = " + atributos.Value + "\r"; } MessageBox.Show(mensagem, "Informação do Sistema", MessageBoxButton.OK, MessageBoxImage.Information); }
private static string MontaMensagemDadosNfce(NFeZeus nfce) { var mensagem = new StringBuilder("NFC-e nº "); mensagem.Append(nfce.infNFe.ide.nNF.ToString("D9")); mensagem.Append(" Série "); mensagem.Append(nfce.infNFe.ide.serie.ToString("D3")); mensagem.Append(" "); mensagem.Append(nfce.infNFe.ide.dhEmi.ToString("G")); mensagem.Append(" - "); mensagem.Append("Via consumidor"); return(mensagem.ToString()); }
/// <summary> /// Envia EPEC para Sefaz /// </summary> /// <param name="idlote"></param> /// <param name="sequenciaEvento"></param> /// <param name="_nfe"></param> /// <param name="veraplic"></param> /// <param name="cFgServico"></param> /// <returns></returns> public RetornoRecepcaoEvento EnviarEPEC(int idlote, int sequenciaEvento, Classes.NFe _nfe, string veraplic, ConfiguracaoServico cFgServico) { var servicoNFe = new ServicosNFe(cFgServico); var retornoEnvio = servicoNFe.RecepcaoEventoEpec(Convert.ToInt32(idlote), Convert.ToInt16(sequenciaEvento), _nfe, veraplic); foreach (var evento in retornoEnvio.ProcEventosNFe) { var proceventoXmlString = evento.ObterXmlString(); if (evento.retEvento.infEvento.cStat == 135) { //Salva procEventoNFe this.SalvarXmlArquivo(evento.retEvento.infEvento.chNFe + "-epec", proceventoXmlString, cFgServico.tpAmb); } } return(retornoEnvio); }
private static string GeraChaveAcesso(NFeZeus nfce) { string chaveAcesso = nfce.infNFe.Id.Substring(3); string novaChave = string.Empty; int contaChaveAcesso = 0; foreach (char c in chaveAcesso) { contaChaveAcesso++; novaChave += c; if (contaChaveAcesso == 4) { novaChave += " "; contaChaveAcesso = 0; } } return(novaChave); }
private void CarregarXml(string xml) { try { nfeProc proc = new procNFe().nfeProc.CarregarDeXmlString(xml); _proc = proc; _nfe = _proc.NFe; } catch (Exception) { try { NFeZeus nfe = new NFeZeus().CarregarDeXmlString(xml); _nfe = nfe; } catch (Exception) { throw new ArgumentException( "Ei! Verifique se seu xml está correto, pois identificamos uma falha ao tentar carregar ele."); } } }
/// <summary> /// Responsavel por Adicionar NFe a tag nfeProc e Salvar o XML /// </summary> /// <param name="ChaveNota"></param> /// <param name="nfe"></param> /// <param name="cFgServico"></param> /// <returns></returns> private void AdicionarNFeProc(string ChaveNota, Classes.NFe nfe, ConfiguracaoServico cFgServico) { try { var protocolo = this.ConsultarNfe(ChaveNota, cFgServico); var nfeproc = new nfeProc { NFe = nfe, protNFe = protocolo.Retorno.protNFe, versao = protocolo.Retorno.versao }; if (nfeproc.protNFe != null) { if (nfe.infNFe.ide.mod == ModeloDocumento.NFCe) { //Função para salvar XML SalvarXmlArquivo(nfeproc.protNFe.infProt.chNFe + "-nfce", nfeproc.ObterXmlString(), cFgServico.tpAmb); } else { //Função para salvar XML SalvarXmlArquivo(nfeproc.protNFe.infProt.chNFe + "-nfe", nfeproc.ObterXmlString(), cFgServico.tpAmb); //Função para salvar PDF SalvarPDFArquivo(nfeproc.protNFe.infProt.chNFe + "-nfe", nfeproc.ObterXmlString(), cFgServico.tpAmb); } } } catch (ComunicacaoException ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ValidacaoSchemaException ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void SetValuesForMoriMo(NFe.Classes.NFe nfe) { nfe.infNFe.emit.CNPJ = "cnpj"; nfe.infNFe.emit.IE = "ie"; }