コード例 #1
0
 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}");
 }
コード例 #2
0
        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;
        }
コード例 #3
0
ファイル: EtiquetasCaja.cs プロジェクト: GeMaths/etiquetasPMM
        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}");
        }
コード例 #4
0
        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;
        }