예제 #1
0
        /// <summary>
        /// Generar PDF
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void tsBtnGeneraPDF_Click(object sender, EventArgs e)
        {
            int errores = 0;

            txtbxMensajes.Text = "";

            Parametros Param = new Parametros(DatosConexionDB.Elemento.Intercompany);

            Param.ExtDefault = this.tabCfdi.SelectedTab.Name;
            ServiciosOse     = new WebServicesOSE(Param.URLwebServPAC);

            if (!Param.ultimoMensaje.Equals(string.Empty))
            {
                txtbxMensajes.Text = Param.ultimoMensaje;
                errores++;
            }
            if (regla.CfdiTransacciones.RowCount == 0)
            {
                txtbxMensajes.Text = "No hay documentos para generar. Verifique los criterios de búsqueda.";
                errores++;
            }
            if (!filtraListaSeleccionada()) //Filtra cfdiTransacciones sólo con docs marcados
            {
                txtbxMensajes.Text = ultimoMensaje;
                errores++;
            }
            if (errores == 0)
            {
                pBarProcesoActivo.Visible = true;
                HabilitarVentana(false, false, false, false, false, false);
                ProcesaCfdi proc = new ProcesaCfdi(DatosConexionDB.Elemento, Param);
                proc.TrxVenta             = regla.CfdiTransacciones;
                proc.Progreso            += new ProcesaCfdi.LogHandler(reportaProgreso);
                pBarProcesoActivo.Visible = true;

                if (!this.tabCfdi.SelectedTab.Name.Equals("tabResumen"))
                {
                    await proc.ProcesaObtienePDFAsync(ServiciosOse);
                }

                //cfdFacturaPdfWorker _bw = new cfdFacturaPdfWorker(DatosConexionDB.Elemento, Param);
                //_bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_Completed);
                //_bw.ProgressChanged += new ProgressChangedEventHandler(bw_Progress);
                //object[] arguments = { regla.CfdiTransacciones };
                //_bw.RunWorkerAsync(arguments);
                //Actualiza la pantalla
                HabilitarVentana(Param.emite, Param.anula, Param.imprime, Param.publica, Param.envia, true);
                AplicaFiltroYActualizaPantalla(this.tabCfdi.SelectedTab.Name);
                progressBar1.Value        = 0;
                pBarProcesoActivo.Visible = false;
            }
        }
예제 #2
0
        /// <summary>
        /// Generar PDF
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void tsBtnGeneraPDF_Click(object sender, EventArgs e)
        {
            int errores = 0;

            txtbxMensajes.Text = "";

            Parametros Param = new Parametros(DatosConexionDB.Elemento.Intercompany);

            Param.ExtDefault = this.tabCfdi.SelectedTab.Name;
            ServiciosOse     = new WebServicesOSE(Param.URLwebServPAC);

            if (!Param.ultimoMensaje.Equals(string.Empty))
            {
                txtbxMensajes.Text = Param.ultimoMensaje;
                errores++;
            }
            if (regla.CfdiTransacciones.RowCount == 0)
            {
                txtbxMensajes.Text = "No hay documentos para generar. Verifique los criterios de búsqueda.";
                errores++;
            }
            if (!filtraListaSeleccionada()) //Filtra cfdiTransacciones sólo con docs marcados
            {
                txtbxMensajes.Text = ultimoMensaje;
                errores++;
            }
            if (errores == 0)
            {
                tsPbProcesoActivo.Style = ProgressBarStyle.Marquee;
                HabilitarVentana(false, false, false, false, false, false);
                ProcesaCfdi proc = new ProcesaCfdi(DatosConexionDB.Elemento, Param);
                proc.TrxVenta  = regla.CfdiTransacciones;
                proc.Progreso += new ProcesaCfdi.LogHandler(reportaProgreso);

                if (this.tabCfdi.SelectedTab.Name.Equals("tabFacturas"))
                {
                    await proc.ProcesaObtienePDFAsync(ServiciosOse);
                }

                HabilitarVentana(Param.emite, Param.anula, Param.imprime, Param.publica, Param.envia, true);
                AplicaFiltroYActualizaPantalla(this.tabCfdi.SelectedTab.Name);
                progressBar1.Value      = 0;
                tsPbProcesoActivo.Style = ProgressBarStyle.Blocks;
            }
        }