private void cmdBuscar_Click(object sender, EventArgs e) { this.cmdBorrarDatos_Click(this, new EventArgs()); this.documentosWord = new Dictionary<int, Word.Document>(); this.documentos_guardados = new Dictionary<Word.Document, bool>(); this.RegistroGuardado = false; BackgroundWorker checarPDFs = new BackgroundWorker(); BackgroundWorker bg_matarProcesos = new BackgroundWorker(); bg_matarProcesos.DoWork += new DoWorkEventHandler(matarProcesosInicio); checarPDFs.DoWork += new DoWorkEventHandler(checarPDFs_DoWork); checarPDFs.RunWorkerAsync(); bg_matarProcesos.RunWorkerAsync(); lista_bgwReporteConcentrado = new List<BackgroundWorker>(); diccionario_relaciones_usadas = new Dictionary<string, string>(); lista_bgwInsertarEnPlantillas = new List<BackgroundWorker>(); lista_bgwBaseDeDatos = new List<BackgroundWorker>(); this.MsjColorEtqMostrado = false; vp = new VistasPrevias(); this.Cursor = Cursors.WaitCursor; //cambiamos el cursor a un cursor de espera if (gb_CamposAdicionales.Controls.Count > 0) //si el groupbox de campos adicionales contiene controles, tenemos que borrarlos para el siguiente registro. { gb_CamposAdicionales.Controls.Clear(); //borramos controle gb_CamposAdicionales.Height = 100; //reseteamos altura gb_CamposAdicionales.Width = 100; //reseteamos anchura } etq = new Etiqueta_C(""); //nueva instracia de Etiqueta etq con la nueva clave de prodcto (buscar en ESPECIFICACIONES.xls) ObtenerEtiquetaDefault(); lblTipoEtiqueta.Text = etq.TipoEtiqueta.ToString(); lblVariacionEtiqueta.Text = etq.VariacionEtiqueta.ToString(); columnasPorUsar = new List<string>(); //inicializamos una nueva lista de las columnas que usa esa etiqueta etq.Embarque = ""; columnasPorUsar = etq.obtenerCampos(etq.TipoEtiqueta, etq.VariacionEtiqueta); //llenamos la lista con la función 'Etiqueta.obtenerCampos(int tipo, int var)' this.crearCamposAdicionales(); //se hace llamado al método que crea textboxes, labels, datetimepickers, etc., dependiendo de lo que necesite la etiqueta en cuestión etq.txtSSSAPO = ""; etq.UnidadesCorte = ""; gb_CamposAdicionales.Visible = true; //mostramos el grupbox if (cmbEmbarqueFijo.Items.Count == 0) this.llenarCmbEmbarque(); this.Cursor = Cursors.Default; //regresamos el cursor al default SendKeys.Send("{TAB}"); }
private void tb3_cmdAccion_Click(object sender, EventArgs e) { bool errores = false; tb3_cmdAccion.Enabled = false; tb3_txtTipo.Enabled = false; tb3_txtVar.Enabled = false; tb3_cmdBuscar.Enabled = false; tb3_gbFalta.Visible = false; tb3_listFaltantes.Items.Clear(); tb3_dgv.RowCount = 0; tb3_dgv.ColumnCount = 0; if (tb3_lbl_existeEnBd.ForeColor != Color.Green || tb3_lbl_existeEnWord.ForeColor != Color.Green) { MessageBox.Show("Para verificar la compatibilidad, es necesario que exista tanto la plantilla de Word " + "como el registro en la base de datos.", "Elementos Insuficientes", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.Cursor = Cursors.WaitCursor; etq = new Etiqueta_C(); int tipo = int.Parse(tb3_txtTipo.Text); int var = int.Parse(tb3_txtVar.Text); string path = @RutaDePlantillas + "\\Etq_" + tipo + "_" + var + ".docx"; List<string> camposEnBD = etq.obtenerCampos(tipo, var); List<string> camposEnWord = new List<string>(); Word.Application app = new Word.Application(); Word.Document doc = app.Documents.Open(path); app.Visible = false; foreach (Word.Shape sh in doc.Shapes) { if (sh.Type.ToString() == "msoTextBox" || sh.Type.ToString() == "msoPicture") { if (!sh.Name.Contains("C1") && !sh.Name.Contains("C2")) camposEnWord.Add(sh.Name); } } doc.SaveAs2(@RutaDeTemp + "tempDoc.docx"); doc.Saved = true; ((Microsoft.Office.Interop.Word._Document)doc).Close(); ((Microsoft.Office.Interop.Word._Application)app).Quit(); File.Delete(@RutaDeTemp + "tempDoc.docx"); this.Cursor = Cursors.Default; camposEnBD.Sort(); camposEnWord.Sort(); this.crearDataGridViewTab3(camposEnWord, camposEnBD, tb3_dgv); this.crearDataGridViewTab3_2(camposEnWord, camposEnBD, tb3_dgv2); foreach (DataGridViewRow row in tb3_dgv.Rows) { if (row.Cells[0].Style.BackColor == Color.Red || row.Cells[1].Style.BackColor == Color.Red) errores = true; } foreach (DataGridViewRow row in tb3_dgv2.Rows) { if (row.Cells[0].Style.BackColor == Color.Red || row.Cells[1].Style.BackColor == Color.Red) errores = true; } if (!errores) { tb3_lblResultado.Text = "Existe compatibilidad entre la plantilla y la base de datos."; tb3_lblResultado.ForeColor = Color.Green; } else { tb3_lblResultado.Text = "Existen campos incorrectos. Favor de tomar las acciones correspondientes."; tb3_lblResultado.ForeColor = Color.Red; } tb3_lblResultado.Visible = true; }
private void cmdBuscar_Click(object sender, EventArgs e) { string temp = txt_IntroClavProd.Text; this.cmdBorrarDatos_Click(this, new EventArgs()); numeracionEspecial = false; txt_IntroClavProd.Text = temp; this.documentosWord = new Dictionary<int, Word.Document>(); this.RegistroGuardado = false; BackgroundWorker checarPDFs = new BackgroundWorker(); BackgroundWorker bg_matarProcesos = new BackgroundWorker(); bg_matarProcesos.DoWork += new DoWorkEventHandler(matarProcesosInicio); checarPDFs.DoWork += new DoWorkEventHandler(checarPDFs_DoWork); checarPDFs.RunWorkerAsync(); bg_matarProcesos.RunWorkerAsync(); lista_bgwReporteConcentrado = new List<BackgroundWorker>(); diccionario_relaciones_usadas = new Dictionary<string, string>(); lista_bgwInsertarEnPlantillas = new List<BackgroundWorker>(); lista_bgwBaseDeDatos = new List<BackgroundWorker>(); this.MsjColorEtqMostrado = false; this.EsCarrete = false; if (txt_IntroClavProd.Text == "") return; else txt_IntroClavProd.Text = txt_IntroClavProd.Text.ToUpper(); vp = new VistasPrevias(); this.Cursor = Cursors.WaitCursor; //cambiamos el cursor a un cursor de espera if (gb_CamposAdicionales.Controls.Count > 0) //si el groupbox de campos adicionales contiene controles, tenemos que borrarlos para el siguiente registro. { gb_CamposAdicionales.Controls.Clear(); //borramos controle gb_CamposAdicionales.Height = 100; //reseteamos altura gb_CamposAdicionales.Width = 100; //reseteamos anchura } etq = new Etiqueta_C(txt_IntroClavProd.Text); //nueva instracia de Etiqueta etq con la nueva clave de prodcto (buscar en ESPECIFICACIONES.xls) List<string> columnasPorUsar = new List<string>(); //inicializamos una nueva lista de las columnas que usa esa etiqueta etq.Embarque = ""; if (!ObtenerDatosGenerales()) //si se obtiene un valor falso, la clave no existe { this.LimpiarCampos(); //limpiamos textboxes y groupboxes this.Cursor = Cursors.Default; //regresamos el cursor al default return; //exit } else //si es verdadero el booleano que regresa 'ObtenerDatosGenerales()' { if (!etq.HayEtqsMultiples) columnasPorUsar = etq.obtenerCampos(etq.TipoEtiqueta, etq.VariacionEtiqueta); //llenamos la lista con la función 'Etiqueta.obtenerCampos(int tipo, int var)' else { List<string> tempCampos = new List<string>(); CampoBcd_TipoCod = new Dictionary<string, int>(); ListaEtiquetasMultiples = new List<Etiqueta_C.Estructura_etqMultiple>(); Etiqueta_C.Estructura_etqMultiple etqMult; int c = 0; foreach (string s in etq.TiposVariaciones.Split(',')) { etqMult = new Etiqueta_C.Estructura_etqMultiple(); string[] tempTipoVar = s.Trim().Split('_'); int tempTipo = int.Parse(tempTipoVar[0]); int tempVar = int.Parse(tempTipoVar[1]); etqMult.tipoEtq = tempTipo; etqMult.varEtq = tempVar; etqMult.tipoCodBarra = 0; etqMult.etqsPorHoja = 0; etq.ObtenerTipoCodigoYEtqPorHoja(tempTipo, tempVar, ref etqMult.tipoCodBarra,ref etqMult.etqsPorHoja); ListaEtiquetasMultiples.Add(etqMult); tempCampos = etq.obtenerCampos(tempTipo, tempVar); foreach (string bcd in tempCampos) { if (bcd.StartsWith("bcd")) { if (!CampoBcd_TipoCod.ContainsKey(bcd)) CampoBcd_TipoCod.Add(bcd, etqMult.tipoCodBarra); } } foreach (string st in tempCampos) columnasPorUsar.Add(st); c++; } cmdContinuarConLotes.Click -= cmdContinuarConLotes_Click; cmdContinuarConLotes.Click += new EventHandler(cmdContinuarConLotes_EtqsMultiples_Click); } if (reg == null) etq.ObtenerUltimaOrdenDeCompra(); this.CrearCamposAdicionales(columnasPorUsar);//se hace llamado al método que crea textboxes, labels, datetimepickers, etc., dependiendo de lo que necesite la etiqueta en cuestión etq.txtSSSAPO = ""; etq.UnidadesCorte = ""; gb_CamposAdicionales.Visible = true; //mostramos el grupbox lblFechaEntrega.Visible = true; dtpFechaEntrega.Visible = true; chkMuestra.Visible = true; if (etq.ColorEtiquetaCaja != "") { if (etq.ColorEtiquetaCaja.Contains(',')) //son etiquetas multiples { string[] tempcolor = etq.ColorEtiquetaCaja.Split(','); string color1 = tempcolor[0], color2 = tempcolor[1]; pnColor1.BackColor = DiccionarioColores[color1]; pnColor2.BackColor = DiccionarioColores[color2]; } else if (etq.ColorEtiquetaCaja.Contains("_")) { pnColor1.Visible = false; pnColor2.Visible = false; string[] splits = etq.ColorEtiquetaCaja.ToUpper().Split('_'); string colorEtiqueta = splits[0]; string colorPunto = splits[1]; this.DibujarPuntoDeColor(colorPunto, colorEtiqueta); } else if (DiccionarioColores.ContainsKey(etq.ColorEtiquetaCaja.ToUpper())) { pnColor1.BackColor = DiccionarioColores[etq.ColorEtiquetaCaja]; pnColor2.BackColor = DiccionarioColores[etq.ColorEtiquetaCaja]; } } } if (cmbEmbarqueFijo.Items.Count == 0) this.llenarCmbEmbarque(); ChecarNumeracionEspecial(); this.Cursor = Cursors.Default; //regresamos el cursor al default SendKeys.Send("{TAB}"); }
private void tb2_cmdBuscarPlantilla_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(tb2_txtVar.Text) || string.IsNullOrEmpty(tb2_txtTipo.Text)) { MessageBox.Show("Favor de introducir tipo de etiqueta y variación de la misma.", "Campo Vacío", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.Cursor = Cursors.WaitCursor; int tipo = int.Parse(tb2_txtTipo.Text); int var = int.Parse(tb2_txtVar.Text); etq = new Etiqueta_C(); List<string> todosLosCampos; if (etq.obtenerTodosLosCamposDeBD()) todosLosCampos = etq.TodosLosCampos; else return; string tipocod = "", etqxhoja = "", loteProd = "", loteDesp = ""; int idioma = 0; List<string> camposUsados = etq.obtenerCampos(tipo, var); etq.Obtener_Idioma_Codigo_EtqPorHoja(tipo, var, ref tipocod, ref idioma, ref etqxhoja); if (camposUsados.Count == 0) { this.Cursor = Cursors.Default; if (MessageBox.Show("El registro de etiqueta tipo " + tipo + " y variación " + var + " no existe en la base de datos. \n¿Desea crearlo en este momento?" , "Nuevo Registro", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { //pasar a crear etiqueta } else { return; } } else { this.creaDataGridView_tb2(todosLosCampos, camposUsados, tb2_dgv); this.AgregarItemsAComboBoxes(tipocod, etqxhoja, idioma.ToString()); if (this.obtenerNombresLotes(tipo, var, ref loteProd, ref loteDesp)) { tb2_txtLoteDesp.Text = loteDesp; tb2_txtLoteProd.Text = loteProd; } } this.Cursor = Cursors.Default; }