Пример #1
0
        private void tsButtonConfirmaAnulaXml_Click(object sender, EventArgs e)
        {
            tsConfirmaAnulaXml.Visible = false;
            progressBar1.Value         = 0;
            txtbxMensajes.Text         = "Procesando...";
            if (trxVenta.RowCount > 0)
            {
                trxVenta.Rewind();          //move to first record
                cfdReglasFacturaXml regla   = null;
                Parametros          Param   = new Parametros(DatosConexionDB.Elemento.Intercompany);
                ReglasME            maquina = new ReglasME(Param);
                int i = 1;
                do
                {
                    regla = new cfdReglasFacturaXml(DatosConexionDB.Elemento, Param);
                    if (trxVenta.Estado.Equals("emitido") &&
                        maquina.ValidaTransicion(Param.tipoDoc, "ELIMINA XML", trxVenta.EstadoActual, "anulado"))
                    {
                        //Anular el archivo xml en la bitácora de la factura emitida
                        regla.ActualizaFacturaEmitida(trxVenta.Soptype, trxVenta.Sopnumbe, DatosConexionDB.Elemento.Usuario, "emitido", "anulado", maquina.eBinarioNuevo, "Xml eliminado.");
                        txtbxMensajes.AppendText("Doc:" + trxVenta.Sopnumbe + " " + regla.ultimoMensaje + "\r\n");
                        txtbxMensajes.Refresh();
                    }
                    progressBar1.Value = i * 100 / trxVenta.RowCount;
                    i++;
                } while (trxVenta.MoveNext());

                //Actualizar la pantalla
                AplicaFiltroYActualizaPantalla();

                progressBar1.Value = 0;
            }
        }
Пример #2
0
        /// <summary>
        /// Aplica los criterios de filtro, actualiza la pantalla e inicializa los checkboxes del grid
        /// </summary>
        /// <param name=""></param>
        /// <returns>bool</returns>
        private void AplicaFiltroYActualizaPantalla(string nombreTab)
        {
            txtbxMensajes.AppendText("Explorando...\r\n");
            txtbxMensajes.Refresh();

            try
            {
                ObtieneGrid(nombreTab);
                Parametros Compannia = new Parametros(DatosConexionDB.Elemento.Intercompany);
                Compannia.ExtDefault = nombreTab;
                txtbxMensajes.AppendText(Compannia.ultimoMensaje);
                if (!Compannia.ultimoMensaje.Equals(string.Empty))
                {
                    throw new ArgumentNullException(Compannia.ultimoMensaje);
                }

                regla = new cfdReglasFacturaXml(DatosConexionDB.Elemento, Compannia);
                regla.AplicaFiltroADocumentos(checkBoxFecha.Checked, dtPickerDesde.Value, dtPickerHasta.Value, fechaIni, fechaFin,
                                              checkBoxNDoc.Checked, txtBNumDocDesde.Text, txtBNumDocHasta.Text,
                                              checkBoxIdDoc.Checked, cmbBIdDoc.Text,
                                              checkBoxEstado.Checked, cmbBEstado.Text,
                                              checkBoxCliente.Checked, textBCliente.Text,
                                              vistaActiva);

                vwCfdTransaccionesDeVentaBindingSource.DataSource = regla.CfdiTransacciones.DefaultView;
                txtbxMensajes.AppendText("Completado: " + regla.CfdiTransacciones.RowCount.ToString() + " documento(s) consultado(s).\r\n");

                tsBtnTestCodigoQR.Enabled = Compannia.TestQR.Equals("1");
                tsBtnTestCodigoQR.Visible = Compannia.TestQR.Equals("1");
            }
            catch (ArgumentNullException)
            {
            }
            catch (ArgumentException ae)
            {
                vwCfdTransaccionesDeVentaBindingSource.DataSource = null;
                txtbxMensajes.AppendText(ae.Message);
            }
            finally
            {
                txtbxMensajes.Refresh();
                dGridActivo.Refresh();

                //Restituir las filas marcadas usando la lista de docs no seleccionados
                InicializaCheckBoxDelGrid(dGridActivo, idxChkBox, LDocsNoSeleccionados);
            }
        }
Пример #3
0
        /// <summary>
        /// Aplica los criterios de filtro, actualiza la pantalla e inicializa los checkboxes del grid
        /// </summary>
        /// <param name=""></param>
        /// <returns>bool</returns>
        private bool AplicaFiltroYActualizaPantalla(string nombreTab)
        {
            txtbxMensajes.AppendText("Explorando...\r\n");
            txtbxMensajes.Refresh();

            ObtieneGrid(nombreTab);
            Parametros Compannia = new Parametros(DatosConexionDB.Elemento.Intercompany);

            txtbxMensajes.AppendText(Compannia.ultimoMensaje);
            if (!Compannia.ultimoMensaje.Equals(string.Empty))
            {
                return(false);
            }

            regla = new cfdReglasFacturaXml(DatosConexionDB.Elemento, Compannia);
            regla.AplicaFiltroADocumentos(checkBoxFecha.Checked, dtPickerDesde.Value, dtPickerHasta.Value, fechaIni, fechaFin,
                                          checkBoxNDoc.Checked, txtBNumDocDesde.Text, txtBNumDocHasta.Text,
                                          checkBoxIdDoc.Checked, cmbBIdDoc.Text,
                                          checkBoxEstado.Checked, cmbBEstado.Text,
                                          checkBoxCliente.Checked, textBCliente.Text,
                                          vistaActiva);

            if (regla.numMensajeError == 0)
            {
                vwCfdTransaccionesDeVentaBindingSource.DataSource = regla.CfdiTransacciones.DefaultView;
                txtbxMensajes.AppendText("Completado: " + regla.CfdiTransacciones.RowCount.ToString() + " documento(s) consultado(s).\r\n");
            }
            else
            {
                vwCfdTransaccionesDeVentaBindingSource.DataSource = null;
                txtbxMensajes.AppendText(regla.ultimoMensaje);
            }
            txtbxMensajes.Refresh();
            dGridActivo.Refresh();

            //Restituir las filas marcadas usando la lista de docs no seleccionados
            InicializaCheckBoxDelGrid(dGridActivo, idxChkBox, LDocsNoSeleccionados);

            return(regla.numMensajeError == 0);
        }
Пример #4
0
        private void tsBtnArchivoMensual_Click(object sender, EventArgs e)
        {
            txtbxMensajes.Text = "";
            ultimoMensaje      = "OK";
            Parametros Compannia = new Parametros(DatosConexionDB.Elemento.Intercompany);

            if (!Compannia.ultimoMensaje.Equals(string.Empty))
            {
                ultimoMensaje = Compannia.ultimoMensaje;
            }
            if (!(checkBoxFecha.Checked && !checkBoxNDoc.Checked && !checkBoxIdDoc.Checked && !checkBoxEstado.Checked))
            {
                ultimoMensaje = "Debe indicar el periodo a generar. Marque únicamente la opción Fecha.";
            }
            if (dtPickerDesde.Value.Year * 100 + dtPickerDesde.Value.Month != dtPickerHasta.Value.Year * 100 + dtPickerHasta.Value.Month)
            {
                ultimoMensaje = "El rango de fechas De/A debe estar en el mismo mes. Verifique el rango de fechas.";
            }

            if (ultimoMensaje.Equals("OK"))
            {
                //Define inicio y fin de mes
                DateTime _fechaIni = new DateTime(dtPickerDesde.Value.Year, dtPickerDesde.Value.Month, 1);
                dtPickerDesde.Value = _fechaIni;
                DateTime _fechaFin = _fechaIni.AddMonths(1);
                int      ultimoDia = _fechaFin.Day;
                dtPickerHasta.Value = _fechaFin.AddDays(-ultimoDia);

                cfdReglasFacturaXml regla = new cfdReglasFacturaXml(DatosConexionDB.Elemento, Compannia);

                if (!AplicaFiltroYActualizaPantalla())
                {
                    return;
                }

                if (!regla.AplicaFiltroParaInformeMes(dtPickerDesde.Value, dtPickerHasta.Value, out infMes))
                {
                    txtbxMensajes.AppendText(regla.ultimoMensaje);
                    return;
                }
                txtbxMensajes.AppendText("Consulta de documentos del mes completado.");
                txtbxMensajes.Refresh();

                if (ExistenFacturasNoEmitidas())
                {
                    if (MessageBox.Show("Existen facturas que todavía no fueron emitidas. Desea continuar?",
                                        "Advertencia",
                                        MessageBoxButtons.YesNo,
                                        MessageBoxIcon.Warning) == DialogResult.No)
                    {
                        return;
                    }
                    txtbxMensajes.Text = "Advertencia: Existen facturas que todavía no fueron emitidas. Revise el archivo luego de generarlo.\r\n";
                }

                //Guarda el archivo mensual en disco
                if (infMes.RowCount > 0)
                {
                    GuardaArchivoMensual();
                }
            }
            txtbxMensajes.AppendText(ultimoMensaje);
            txtbxMensajes.Refresh();
        }