Exemplo n.º 1
0
        /// <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();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        /// <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);
        }