public DanfeNativoNfce(nfeProc proc, ConfiguracaoDanfeNfce configuracaoDanfeNfce, string cIdToken, string csc) { _proc = proc; _configuracaoDanfeNfce = configuracaoDanfeNfce; _cIdToken = cIdToken; _csc = csc; }
/// <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); } }
public GeradorDeNfce() { CfgServico = ConfiguracaoServico.Instancia; CfgServico.tpAmb = TipoAmbiente.Homologacao; CfgServico.tpEmis = TipoEmissao.teNormal; CfgServico.ProtocoloDeSeguranca = ServicePointManager.SecurityProtocol; var emitente = new emit { CNPJ = "31808064000147", IE = "9079550016", xFant = "Joao Victor Spinoza", xNome = "Joao Victor Spinoza" }; var configuracaoDeEmail = new ConfiguracaoEmail("*****@*****.**", "senha", "Envio de NFE", "Teset123", "smtp.dominio.com", 587, true, true); var configuracaoDanfeNfe = new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha); _configuracoes = new Configuracao( GetEnderecoEmitente(), CfgServico, emitente, configuracaoDeEmail, configuracaoDanfeNfe ); }
public GeradorDeNfce(ConfiguracaoServico cfgServico, X509Certificate2 cert) { _cfgServico = cfgServico; var emitente = new emit { CNPJ = "31808064000147", IE = "9079550016", // ambiente produção //xFant = "Joao Victor Spinoza", //xNome = "Joao Victor Spinoza", xNome = nfeEmitadaHomolog, xFant = nfeEmitadaHomolog, CRT = CRT.SimplesNacional }; var configuracaoDeEmail = new ConfiguracaoEmail("*****@*****.**", "senha", "Envio de NFE", "Teset123", "smtp.dominio.com", 587, true, true); var configuracaoDanfeNfe = new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha, versaoQrCode: VersaoQrCode.QrCodeVersao2); _configuracoes = new Configuracao( GetEnderecoEmitente(), _cfgServico, emitente, configuracaoDeEmail, configuracaoDanfeNfe ); _cert = cert; _configuracoes.CfgServico.Certificado.Serial = _cert.SerialNumber; }
public Configuracao(enderEmit enderecoEmitente, ConfiguracaoServico configuracaoServico, emit emitente, ConfiguracaoEmail configuracaoEmail, ConfiguracaoDanfeNfce configuracaoDanfeNfce) { EnderecoEmitente = enderecoEmitente; CfgServico = configuracaoServico; Emitente = emitente; ConfiguracaoEmail = configuracaoEmail; ConfiguracaoDanfeNfce = configuracaoDanfeNfce; }
/// <summary> /// Imprime em um JPEG o NFC-e relacionado a um xml. /// </summary> /// <param name="pathXmlNFCe">Path do NFC-e a imprimir</param> /// <param name="pathJpeg">Path onde gerar o jpeg</param> public void ImprimirNFCe(string pathXmlNFCe, string pathJpeg, string idToken, string csc) { var nfe = new Classes.NFe().CarregarDeArquivoXml(pathXmlNFCe); var arquivo = nfe.ObterXmlString(); var configuracaoDanfeNFCe = new ConfiguracaoDanfeNfce(Danfe.Base.NfceDetalheVendaNormal.UmaLinha, Danfe.Base.NfceDetalheVendaContigencia.UmaLinha); DanfeNativoNfce impr = new DanfeNativoNfce(arquivo, configuracaoDanfeNFCe, idToken, csc); impr.GerarJPEG(pathJpeg); }
public static Report GenerateDanfeNfceReport(nfeProc proc, ConfiguracaoDanfeNfce configuracaoDanfeNfce, string cIdToken, string csc, byte[] frx, string arquivoRelatorio, string textoRodape = "") { //Define as variáveis que serão usadas no relatório (dúvidas a respeito do fast reports consulte a documentação em https://www.fast-report.com/pt/product/fast-report-net/documentation/) Report relatorio = new Report(); relatorio.RegisterData(new[] { proc }, "NFCe", 20); relatorio.GetDataSource("NFCe").Enabled = true; if (string.IsNullOrEmpty(arquivoRelatorio)) { relatorio.Load(new MemoryStream(frx)); } else { relatorio.Load(arquivoRelatorio); } relatorio.SetParameterValue("NfceDetalheVendaNormal", configuracaoDanfeNfce.DetalheVendaNormal); relatorio.SetParameterValue("NfceDetalheVendaContigencia", configuracaoDanfeNfce.DetalheVendaContigencia); relatorio.SetParameterValue("NfceImprimeDescontoItem", configuracaoDanfeNfce.ImprimeDescontoItem); relatorio.SetParameterValue("NfceModoImpressao", configuracaoDanfeNfce.ModoImpressao); relatorio.SetParameterValue("NfceCancelado", configuracaoDanfeNfce.DocumentoCancelado); relatorio.SetParameterValue("NfceLayoutQrCode", configuracaoDanfeNfce.NfceLayoutQrCode); relatorio.SetParameterValue("TextoRodape", textoRodape); ((ReportPage)relatorio.FindObject("PgNfce")).LeftMargin = configuracaoDanfeNfce.MargemEsquerda; ((ReportPage)relatorio.FindObject("PgNfce")).RightMargin = configuracaoDanfeNfce.MargemDireita; //alteracao necessaria para .netstandard, o código abaixo utiliza um método onde não é compativel para .netstandard: //de : //((PictureObject)relatorio.FindObject("poEmitLogo")).Image = configuracaoDanfeNfce.ObterLogo(); //para: #if Standard ((PictureObject)relatorio.FindObject("poEmitLogo")).SetImageData(configuracaoDanfeNfce.Logomarca); #else ((PictureObject)relatorio.FindObject("poEmitLogo")).Image = configuracaoDanfeNfce.ObterLogo(); #endif ((TextObject)relatorio.FindObject("txtUrl")).Text = string.IsNullOrEmpty(proc.NFe.infNFeSupl.urlChave) ? proc.NFe.infNFeSupl.ObterUrlConsulta(proc.NFe, configuracaoDanfeNfce.VersaoQrCode) : proc.NFe.infNFeSupl.urlChave; ((BarcodeObject)relatorio.FindObject("bcoQrCode")).Text = proc.NFe.infNFeSupl == null?proc.NFe.infNFeSupl.ObterUrlQrCode(proc.NFe, configuracaoDanfeNfce.VersaoQrCode, cIdToken, csc) : proc.NFe.infNFeSupl.qrCode; ((BarcodeObject)relatorio.FindObject("bcoQrCodeLateral")).Text = proc.NFe.infNFeSupl == null?proc.NFe.infNFeSupl.ObterUrlQrCode(proc.NFe, configuracaoDanfeNfce.VersaoQrCode, cIdToken, csc) : proc.NFe.infNFeSupl.qrCode; //Segundo o Manual de Padrões Técnicos do DANFE - NFC - e e QR Code, versão 3.2, página 9, nos casos de emissão em contingência deve ser impresso uma segunda cópia como via do estabelecimento if (configuracaoDanfeNfce.SegundaViaContingencia) { #if Standard throw new Exception("configuracaoDanfeNfce.SegundaViaContingencia não suportado em .net standard, apenas em .net framework"); #else relatorio.PrintSettings.Copies = (proc.NFe.infNFe.ide.tpEmis == TipoEmissao.teNormal | (proc.protNFe != null && proc.protNFe.infProt != null && NfeSituacao.Autorizada(proc.protNFe.infProt.cStat)) /*Se a NFe for autorizada, mesmo que seja em contingência, imprime somente uma via*/) ? 1 : 2; #endif } return(relatorio); }
public ConfiguracaoApp() { CfgServico = ConfiguracaoServico.Instancia; CfgServico.tpAmb = TipoAmbiente.taHomologacao; CfgServico.tpEmis = TipoEmissao.teNormal; Emitente = new emit { CPF = "", CRT = CRT.SimplesNacional }; EnderecoEmitente = new enderEmit(); ConfiguracaoDanfeNfce = new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha, "", ""); }
/// <summary> /// Construtor da classe responsável pela impressão do DANFE da NFCe em Fast Reports /// </summary> /// <param name="proc">Objeto do tipo nfeProc</param> /// <param name="configuracaoDanfeNfce">Objeto do tipo ConfiguracaoDanfeNfce contendo as definições de impressão</param> /// <param name="cIdToken">Identificador do CSC – Código de Segurança do Contribuinte no Banco de Dados da SEFAZ</param> /// <param name="csc">Código de Segurança do Contribuinte(antigo Token)</param> /// <param name="arquivoRelatorio">Caminho e arquivo frx contendo as definições do relatório personalizado</param> /// <param name="textoRodape">Texto para ser impresso no final do documento</param> public DanfeFrNfce(nfeProc proc, ConfiguracaoDanfeNfce configuracaoDanfeNfce, string cIdToken, string csc, string arquivoRelatorio = "", string textoRodape = "") { byte[] frx = null; if (string.IsNullOrWhiteSpace(arquivoRelatorio)) { const string caminho = @"NFCe\NFCe.frx"; frx = FrxFileHelper.TryGetFrxFile(caminho); } Relatorio = DanfeSharedHelper.GenerateDanfeNfceReport(proc, configuracaoDanfeNfce, cIdToken, csc, frx, arquivoRelatorio, textoRodape); }
private void Inicializa(string xml, ConfiguracaoDanfeNfce configuracaoDanfe, string cIdToken, string csc, decimal troco, decimal totalPago, string font = null) { _cIdToken = cIdToken; _csc = csc; _troco = troco; _totalPago = totalPago; AdicionarTexto.FontPadrao = configuracaoDanfe.CarregarFontePadraoNfceNativa(font); _logo = configuracaoDanfe.ObterLogo(); CarregarXml(xml); }
public ConfiguracaoApp() { CfgServico = ConfiguracaoServico.Instancia; CfgServico.tpAmb = TipoAmbiente.taHomologacao; CfgServico.tpEmis = TipoEmissao.teNormal; Emitente = new emit { CPF = "", CRT = CRT.SimplesNacional }; EnderecoEmitente = new enderEmit(); ConfiguracaoDanfeNfce = new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha, "", ""); ConfiguracaoEmail = new ConfiguracaoEmail("*****@*****.**", "senha", "Envio de NFE", Resources.MensagemHtml, "smtp.dominio.com", 587, true, true); }
public ConfiguracaoApp() { CfgServico = ConfiguracaoServico.Instancia; CfgServico.tpAmb = TipoAmbiente.Homologacao; CfgServico.tpEmis = TipoEmissao.teNormal; CfgServico.ProtocoloDeSeguranca = ServicePointManager.SecurityProtocol; Emitente = new emit { CPF = "", CRT = CRT.SimplesNacional }; EnderecoEmitente = new enderEmit(); ConfiguracaoEmail = new ConfiguracaoEmail("*****@*****.**", "senha", "Envio de NFE", Resources.MensagemHtml, "smtp.dominio.com", 587, true, true); ConfiguracaoCsc = new ConfiguracaoCsc("000001", ""); ConfiguracaoDanfeNfce = new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha, documentoCancelado: true); }
/// <summary> /// Construtor da classe reponsável pela impressão do DANFE da NFCe em Fast Reports /// </summary> /// <param name="proc">Objeto do tipo nfeProc</param> /// <param name="configuracaoDanfeNfce">Objeto do tipo ConfiguracaoDanfeNfce contendo as definições de impressão</param> public DanfeFrNfce(nfeProc proc, ConfiguracaoDanfeNfce configuracaoDanfeNfce) { #region Define as varíaveis que serão usadas no relatório (dúvidas a respeito do fast reports consulte a documentação em https://www.fast-report.com/pt/product/fast-report-net/documentation/) _relatorio = new Report(); _relatorio.RegisterData(new[] { proc }, "NFCe", 20); _relatorio.GetDataSource("NFCe").Enabled = true; _relatorio.Load(new MemoryStream(Properties.Resources.NFCe)); _relatorio.SetParameterValue("NfceDetalheVendaNormal", configuracaoDanfeNfce.DetalheVendaNormal); _relatorio.SetParameterValue("NfceDetalheVendaContigencia", configuracaoDanfeNfce.DetalheVendaContigencia); ((PictureObject) _relatorio.FindObject("poEmitLogo")).Image = configuracaoDanfeNfce.ObterLogo(); ((TextObject)_relatorio.FindObject("txtUrl")).Text = EnderecadorDanfeNfce.ObterUrl(proc.NFe.infNFe.ide.tpAmb, proc.NFe.infNFe.ide.cUF, TipoUrlDanfeNfce.UrlConsulta); ((BarcodeObject)_relatorio.FindObject("bcoQrCode")).Text = EnderecadorDanfeNfce.ObterUrlQrCode(proc, configuracaoDanfeNfce); //Segundo o Manual de Padrões Padrões Técnicos do DANFE - NFC - e e QR Code, versão 3.2, página 9, nos casos de emissão em contigência deve ser impresso uma segunda cópia como via do estabelecimento _relatorio.PrintSettings.Copies = proc.NFe.infNFe.ide.tpEmis == TipoEmissao.teNormal ? 1 : 2; #endregion }
/// <summary> /// Construtor da classe reponsável pela impressão do DANFE da NFCe em Fast Reports /// </summary> /// <param name="proc">Objeto do tipo nfeProc</param> /// <param name="configuracaoDanfeNfce">Objeto do tipo ConfiguracaoDanfeNfce contendo as definições de impressão</param> public DanfeFrNfce(nfeProc proc, ConfiguracaoDanfeNfce configuracaoDanfeNfce) { #region Define as varíaveis que serão usadas no relatório (dúvidas a respeito do fast reports consulte a documentação em https://www.fast-report.com/pt/product/fast-report-net/documentation/) _relatorio = new Report(); _relatorio.RegisterData(new[] { proc }, "NFCe", 20); _relatorio.GetDataSource("NFCe").Enabled = true; _relatorio.Load(new MemoryStream(Properties.Resources.NFCe)); _relatorio.SetParameterValue("NfceDetalheVendaNormal", configuracaoDanfeNfce.DetalheVendaNormal); _relatorio.SetParameterValue("NfceDetalheVendaContigencia", configuracaoDanfeNfce.DetalheVendaContigencia); ((PictureObject)_relatorio.FindObject("poEmitLogo")).Image = configuracaoDanfeNfce.ObterLogo(); ((TextObject)_relatorio.FindObject("txtUrl")).Text = EnderecadorDanfeNfce.ObterUrl(proc.NFe.infNFe.ide.tpAmb, proc.NFe.infNFe.ide.cUF, TipoUrlDanfeNfce.UrlConsulta); ((BarcodeObject)_relatorio.FindObject("bcoQrCode")).Text = proc.NFe.infNFeSupl == null?EnderecadorDanfeNfce.ObterUrlQrCode(proc.NFe, configuracaoDanfeNfce) : proc.NFe.infNFeSupl.qrCode; //Segundo o Manual de Padrões Padrões Técnicos do DANFE - NFC - e e QR Code, versão 3.2, página 9, nos casos de emissão em contigência deve ser impresso uma segunda cópia como via do estabelecimento _relatorio.PrintSettings.Copies = proc.NFe.infNFe.ide.tpEmis == TipoEmissao.teNormal ? 1 : 2; #endregion }
public ConfiguracaoApp() { CfgServico = ConfiguracaoServico.Instancia; //CfgServico.tpAmb = TipoAmbiente.Homologacao; //CfgServico.tpEmis = TipoEmissao.teNormal; CfgServico.ProtocoloDeSeguranca = ServicePointManager.SecurityProtocol; CfgServico.SalvarXmlServicos = true; CfgServico.DiretorioSchemas = @"Schemas"; CfgServico.DefineVersaoServicosAutomaticamente = true; CfgServico.VersaoLayout = VersaoServico.ve400; CfgServico.TimeOut = 100000; //Emitente = new emit {CPF = "", CRT = CRT.SimplesNacional}; //EnderecoEmitente = new enderEmit(); //ConfiguracaoEmail = new ConfiguracaoEmail("*****@*****.**", "senha", "Envio de NFE", Resources.MensagemHtml, "smtp.dominio.com", 587, true, true); ConfiguracaoCsc = new ConfiguracaoCsc("000001", ""); ConfiguracaoDanfeNfce = new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha); }
/// <summary> /// Responsavel por visualizar NFCe apos autorização. E possivel imprimir apos visualização /// </summary> private void VisualizarNFCe(string xmlNFce, ConfiguracaoDanfeNfce configuracaoDanfe, string cIdToken, string csc) { try { #region Carrega um XML com nfeProc para a variável if (string.IsNullOrEmpty(xmlNFce)) { return; } var proc = new nfeProc().CarregarDeXmlString(xmlNFce); if (proc.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: proc, configuracaoDanfeNfce: configuracaoDanfe, cIdToken: cIdToken, csc: csc, arquivoRelatorio: string.Empty); danfe.Visualizar(false); //danfe.Imprimir(); //danfe.ExibirDesign(); //danfe.ExportarPdf(@"d:\teste.pdf"); #endregion } catch (Exception ex) { if (!string.IsNullOrEmpty(ex.Message)) { MessageBox.Show(ex.Message); } } }
/// <summary> /// Construtor da classe reponsável pela impressão do DANFE da NFCe em Fast Reports. /// Use esse construtor apenas para impressão em contigência, já que neste modo ainda não é possível obter o grupo protNFe /// </summary> /// <param name="nfe">Objeto do tipo NFe</param> /// <param name="configuracaoDanfeNfce">Objeto do tipo ConfiguracaoDanfeNfce contendo as definições de impressão</param> public DanfeFrNfce(Classes.NFe nfe, ConfiguracaoDanfeNfce configuracaoDanfeNfce) : this(new nfeProc() { NFe = nfe }, configuracaoDanfeNfce) { }
/// <summary> /// Construtor da classe responsável pela impressão do DANFE da NFCe em Fast Reports. /// Use esse construtor apenas para impressão em contingência, já que neste modo ainda não é possível obter o grupo protNFe /// </summary> /// <param name="nfe">Objeto do tipo NFe</param> /// <param name="configuracaoDanfeNfce">Objeto do tipo ConfiguracaoDanfeNfce contendo as definições de impressão</param> /// <param name="cIdToken">Identificador do CSC – Código de Segurança do Contribuinte no Banco de Dados da SEFAZ</param> /// <param name="csc">Código de Segurança do Contribuinte(antigo Token)</param> /// <param name="textoRodape">Texto para ser impresso no final do documento</param> public DanfeFrNfce(Classes.NFe nfe, ConfiguracaoDanfeNfce configuracaoDanfeNfce, string cIdToken, string csc, string textoRodape = "") : this(new nfeProc() { NFe = nfe }, configuracaoDanfeNfce, cIdToken, csc, arquivoRelatorio : string.Empty, textoRodape : textoRodape) { }
public DanfeNativoNfce(string xml, ConfiguracaoDanfeNfce configuracaoDanfe, string cIdToken, string csc, decimal troco = decimal.Zero, decimal totalPago = decimal.Zero, string font = null, bool viaEstabelecimento = false) { Inicializa(xml, configuracaoDanfe, cIdToken, csc, troco, totalPago, font); }
/// <summary> /// Construtor da classe responsável pela impressão do DANFE da NFCe em Fast Reports. /// Use esse construtor apenas para impressão em contingência, já que neste modo ainda não é possível obter o grupo protNFe /// </summary> /// <param name="nfe">Objeto do tipo NFe</param> /// <param name="configuracaoDanfeNfce">Objeto do tipo ConfiguracaoDanfeNfce contendo as definições de impressão</param> /// <param name="cIdToken">Identificador do CSC – Código de Segurança do Contribuinte no Banco de Dados da SEFAZ</param> /// <param name="csc">Código de Segurança do Contribuinte(antigo Token)</param> public DanfeFrNfce(Classes.NFe nfe, ConfiguracaoDanfeNfce configuracaoDanfeNfce, string cIdToken, string csc) : this(new nfeProc() { NFe = nfe }, configuracaoDanfeNfce, cIdToken, csc, string.Empty) { }
/// <summary> /// Construtor da classe responsável pela impressão do DANFE da NFCe em Fast Reports /// </summary> /// <param name="proc">Objeto do tipo nfeProc</param> /// <param name="configuracaoDanfeNfce">Objeto do tipo ConfiguracaoDanfeNfce contendo as definições de impressão</param> /// <param name="cIdToken">Identificador do CSC – Código de Segurança do Contribuinte no Banco de Dados da SEFAZ</param> /// <param name="csc">Código de Segurança do Contribuinte(antigo Token)</param> /// <param name="arquivoRelatorio">Caminho e arquivo frx contendo as definições do relatório personalizado</param> public DanfeFrNfce(nfeProc proc, ConfiguracaoDanfeNfce configuracaoDanfeNfce, string cIdToken, string csc, string arquivoRelatorio = "") { Relatorio = DanfeSharedHelper.GenerateDanfeNfceReport(proc, configuracaoDanfeNfce, cIdToken, csc, Standard.Properties.Resources.NFCe, arquivoRelatorio); //A implementacao comentada acima esta funcionado, o relatório ainda não foi testado completamente mas é possivel sua conversão futuramente. //throw new NotImplementedException("NFCE ainda não implementado para .netstandard ou .netcore, apenas disponivel em .net framwork. Crie uma issue no nosso github para mais informações: https://github.com/ZeusAutomacao/DFe.NET"); }
public static Report GenerateDanfeNfceReport(nfeProc proc, ConfiguracaoDanfeNfce configuracaoDanfeNfce, string cIdToken, string csc, byte[] frx, string arquivoRelatorio, string textoRodape = "") { //Define as variáveis que serão usadas no relatório (dúvidas a respeito do fast reports consulte a documentação em https://www.fast-report.com/pt/product/fast-report-net/documentation/) Report relatorio = new Report(); relatorio.RegisterData(new[] { proc }, "NFCe", 20); relatorio.GetDataSource("NFCe").Enabled = true; if (!string.IsNullOrEmpty(arquivoRelatorio)) { relatorio.Load(arquivoRelatorio); } else if (frx != null && frx.Length > 0) { relatorio.Load(new MemoryStream(frx)); } else { throw new Exception("Erro em DanfeSharedHelper.GenerateDanfeNfceReport no Zeus.DFe. Relatório não encontrado, passe os parametros 'frx' com bytes ou 'arquivoRelatorio' com o caminho do arquivo"); } relatorio.SetParameterValue("NfceDetalheVendaNormal", configuracaoDanfeNfce.DetalheVendaNormal); relatorio.SetParameterValue("NfceDetalheVendaContigencia", configuracaoDanfeNfce.DetalheVendaContigencia); relatorio.SetParameterValue("NfceImprimeDescontoItem", configuracaoDanfeNfce.ImprimeDescontoItem); relatorio.SetParameterValue("NfceImprimeFoneEmitente", configuracaoDanfeNfce.ImprimeFoneEmitente); string foneEmitente = null; if (proc.NFe.infNFe.emit.enderEmit.fone != null) { foneEmitente = proc.NFe.infNFe.emit.enderEmit.fone.ToString(); } if (foneEmitente != null && foneEmitente.Length == 10) { foneEmitente = string.Format("{0:(00)0000-0000}", Convert.ToInt64(foneEmitente)); } else if (foneEmitente != null && foneEmitente.Length == 11) { foneEmitente = string.Format("{0:(00)00000-0000}", Convert.ToInt64(foneEmitente)); } relatorio.SetParameterValue("NfceFoneEmitente", foneEmitente); relatorio.SetParameterValue("NfceModoImpressao", configuracaoDanfeNfce.ModoImpressao); relatorio.SetParameterValue("NfceCancelado", configuracaoDanfeNfce.DocumentoCancelado); relatorio.SetParameterValue("NfceLayoutQrCode", configuracaoDanfeNfce.NfceLayoutQrCode); relatorio.SetParameterValue("TextoRodape", textoRodape); ((ReportPage)relatorio.FindObject("PgNfce")).LeftMargin = configuracaoDanfeNfce.MargemEsquerda; ((ReportPage)relatorio.FindObject("PgNfce")).RightMargin = configuracaoDanfeNfce.MargemDireita; var logomarcaEmitDefinida = configuracaoDanfeNfce.Logomarca != null && configuracaoDanfeNfce.Logomarca.Length > 0; ((ReportTitleBand)relatorio.FindObject("rtbEmitLogo")).Visible = logomarcaEmitDefinida; if (logomarcaEmitDefinida) { ((PictureObject)relatorio.FindObject("poEmitLogo")).SetImageData(configuracaoDanfeNfce.Logomarca); } ((TextObject)relatorio.FindObject("txtUrl")).Text = string.IsNullOrEmpty(proc.NFe.infNFeSupl.urlChave) ? proc.NFe.infNFeSupl.ObterUrlConsulta(proc.NFe, configuracaoDanfeNfce.VersaoQrCode) : proc.NFe.infNFeSupl.urlChave; ((BarcodeObject)relatorio.FindObject("bcoQrCode")).Text = proc.NFe.infNFeSupl == null?proc.NFe.infNFeSupl.ObterUrlQrCode(proc.NFe, configuracaoDanfeNfce.VersaoQrCode, cIdToken, csc) : proc.NFe.infNFeSupl.qrCode; ((BarcodeObject)relatorio.FindObject("bcoQrCodeLateral")).Text = proc.NFe.infNFeSupl == null?proc.NFe.infNFeSupl.ObterUrlQrCode(proc.NFe, configuracaoDanfeNfce.VersaoQrCode, cIdToken, csc) : proc.NFe.infNFeSupl.qrCode; //Segundo o Manual de Padrões Técnicos do DANFE - NFC - e e QR Code, versão 3.2, página 9, nos casos de emissão em contingência deve ser impresso uma segunda cópia como via do estabelecimento if (configuracaoDanfeNfce.SegundaViaContingencia) { #if !openfastreport /*Se a NFe for autorizada, mesmo que seja em contingência, imprime somente uma via - devendo o usuario enviar 2 copias para a impressora*/ relatorio.PrintSettings.Copies = (proc.NFe.infNFe.ide.tpEmis == TipoEmissao.teNormal | (proc.protNFe != null && proc.protNFe.infProt != null && NfeSituacao.Autorizada(proc.protNFe.infProt.cStat)) /*Se a NFe for autorizada, mesmo que seja em contingência, imprime somente uma via*/) ? 1 : 2; #else //sem suporte do PrintSettings para o openfastreport throw new Exception("configuracaoDanfeNfce.SegundaViaContingencia não suportado no OpenFastReport apenas no FastReport"); #endif } return(relatorio); }
public ConfiguracaoApp() { ConfiguracaoDanfeNfce = new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha); ConfiguracaoDanfeNfe = new ConfiguracaoDanfeNfe(); }
public void VisualizarDanfeNFCe(string xmlNFce, ConfiguracaoDanfeNfce configuracaoDanfe, string cIdToken, string csc) { VisualizarNFCe(xmlNFce, configuracaoDanfe, cIdToken, csc); //MessageBox.Show(xmlNFce); //this.ImprimirNFCe(xmlNFce, configuracaoDanfe, cIdToken, csc); }