/// <summary> /// Envia nota fiscal atravéz do WebService /// </summary> /// <param name="ilNotas_Fiscais">IList<Dados_Arquivos_NFe> com todas as notas para exportação.</param> /// <param name="sFolder">string com a Path completa para envio da NF-e.</param> public void Enviar_NFe(IList <CompSoft.NFe.Dados_Arquivo_NFe> ilNotas_Fiscais, string sFolder) { CompSoft.Tools.frmWait f = new CompSoft.Tools.frmWait("Aguarde, buscando informações no banco de dados."); f.Show(); //-- Busca dados para geração da NF-e ERP.NFe.GerarDadosNFe dados_NFe = new ERP.NFe.GerarDadosNFe(); dados_NFe.Gerar_Dados_NFe(ilNotas_Fiscais); f.Mensagem = "Aguarde, gerando arquivos XML da NF-e."; //-- Gera NF-e em uma pasta especifica para envio ao cliente. ERP.NFe.XML_NFe nfe = new ERP.NFe.XML_NFe(sFolder, dados_NFe.DataSet_NFe, ilNotas_Fiscais); nfe.Gerar_XML_NFe(); f.Progresso = true; f.Maximo_Progresso = ilNotas_Fiscais.Count; f.Mensagem = "Aguarde, o sistema está assinando, transfêrindo e imprimindo o DANFE das notas fiscais autorizadas."; //-- Instancia classe de tratamento do WebService NF-e //-- Verifica se o WebService está ativo. NFeWebService wb_Nfe = new NFeWebService(); if (wb_Nfe.Status_WebService(ilNotas_Fiscais[0])) { //-- Assina o XML. foreach (Dados_Arquivo_NFe daNFe in ilNotas_Fiscais) { //-- Assina NF-e CompSoft.NFe.AssinaXML assinar = new CompSoft.NFe.AssinaXML(); assinar.AssinarArquivoXML(daNFe.Arquivo_XML, "infNFe", this.Retorna_SerialNumber(daNFe.Empresa)); //-- Envia o Lote da NF-e. this.SalvaXML_DB(daNFe, false); XmlDocument doc = wb_Nfe.Enviar_LoteNFe(daNFe); int iAguardar = this.Trata_Arquivo_Retorno_NFe(doc, daNFe); //-- Faz o tratamento dos dados e envia para o banco de dados. //-- Aguarda 3 vezes o tempo necessário para garentir a recepção do retorno dos dados. System.Threading.Thread.Sleep(5000); //-- Captura o resultado de processamento. this.Resultado_Processamento_NFe(daNFe); //-- avança um na barra de progresso. f.Atual_Progresso++; } } else { MsgBox.Show("O WebService está fora do ar, tente novamente mais tarde." , "Atenção" , System.Windows.Forms.MessageBoxButtons.OK , System.Windows.Forms.MessageBoxIcon.Error); } f.Close(); f.Dispose(); }
private void cmdEnviarArquivo_Click(object sender, EventArgs e) { CompSoft.Tools.frmWait f = new CompSoft.Tools.frmWait("Aguarde, enviando arquivo a Secretária da Fazenda.\r\nEste processo poderá demorar alguns minutos.", CompSoft.Tools.frmWait.Tipo_Imagem.Atencao); f.Show(); ERP.NFPaulista.NFP_TrataWS nfp = new ERP.NFPaulista.NFP_TrataWS(); System.IO.FileInfo fi = new System.IO.FileInfo(txtArquivo.Text); int iEmpresa = Convert.ToInt32(fi.Name.Substring(0, 3)); IList <int> iLote = new List <int>(); iLote.Add(Convert.ToInt32(txtLote.Text)); nfp.Enviar_Arquivos(iEmpresa, iLote); Atualizar_Query_Atual(); f.Close(); }
/// <summary> /// Gera arquivos da NF-e /// </summary> private void Gerar_NFe() { CompSoft.Tools.frmWait f = new CompSoft.Tools.frmWait("Aguarde, separando notas fiscais para transferência da NF-e.", CompSoft.Tools.frmWait.Tipo_Imagem.Informacao); f.Show(); IList <CompSoft.NFe.Dados_Arquivo_NFe> ilNotas_Fiscais = new List <CompSoft.NFe.Dados_Arquivo_NFe>(); DataRow[] fRow = ((DataTable)this.grdNotasFiscais.BindingSource.DataSource).Select("Sel = 1"); foreach (DataRow row in fRow) { ilNotas_Fiscais.Add(new CompSoft.NFe.Dados_Arquivo_NFe(Convert.ToInt32(row["Nota_Fiscal"]))); } f.Close(); //-- Envia a NF-e ERP.NFe.NFe nfe = new ERP.NFe.NFe(); nfe.Enviar_NFe(ilNotas_Fiscais, this.txtPasta.Text); }