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; } }
/// <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); } }
/// <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); }
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(); }