void CargarDatosReq(String xnumreq)
        {
            tb_pp_requerimientoprodBL BL = new tb_pp_requerimientoprodBL();
            tb_pp_requerimientoprod BE = new tb_pp_requerimientoprod();
            DataTable dt = new DataTable();
            BE.tipreq = "RQ";
            BE.serreq = "0001";
            BE.numreq = xnumreq;
            BE.idx = "CAB"; // BUSCAMOS LA CABECERA

            dt = BL.GetAllCab(EmpresaID,BE).Tables[0];
            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["estado"].ToString().Trim() != "9")
                {
                    txt_numos.Text = dt.Rows[0]["numreq"].ToString();
                    txt_fechini.Text = dt.Rows[0]["fechini"].ToString();
                    txt_fechentrega.Text = dt.Rows[0]["fechfin"].ToString();
                    //txt_servcorteid.Text = dt.Rows[0]["servcorteid"].ToString();
                    //txt_servcortename.Text = dt.Rows[0]["servcortename"].ToString();

                    BE.idx = "DET"; //BUSCAMOS EL DETALLE
                    TablaOrdenServ = BL.GetAllDet(EmpresaID, BE).Tables[0];
                    dgv_ordenservicio.DataSource = TablaOrdenServ;

                    btn_editar.Enabled = true;
                    btn_eliminar.Enabled = true;
                    btn_imprimir.Enabled = true;
                    btn_salir.Enabled = true;
                    //pdtimagen.Visible = false;
                }
                else
                {
                    txt_numos.Text = dt.Rows[0]["numreq"].ToString();
                    txt_fechini.Text = dt.Rows[0]["fechini"].ToString();
                    txt_fechentrega.Text = dt.Rows[0]["fechfin"].ToString();
                    //txt_servcorteid.Text = dt.Rows[0]["servcorteid"].ToString();
                    //txt_servcortename.Text = dt.Rows[0]["servcortename"].ToString();

                    BE.idx = "DET"; //BUSCAMOS EL DETALLE
                    TablaOrdenServ = BL.GetAllDet(EmpresaID, BE).Tables[0];
                    dgv_ordenservicio.DataSource = TablaOrdenServ;

                    ssModo = "ANULADO";
                   // pdtimagen.Visible = true;
                    btn_editar.Enabled = false;
                    btn_eliminar.Enabled = false;
                    btn_imprimir.Enabled = true;
                    btn_salir.Enabled = true;
                }
            }
            else
            {
                MessageBox.Show("Requerimiento no Encontrado", "Buscando!!!!!");
            }
        }
        private void Delete()
        {
            try
            {
                if (txt_numos.Text.Length == 0)
                {
                    MessageBox.Show("Falta Número de Requerimiento", "Mensaje");
                    return;
                }
                else
                {
                    tb_pp_requerimientoprodBL BL = new tb_pp_requerimientoprodBL();
                    tb_pp_requerimientoprod BE = new tb_pp_requerimientoprod();
                    BE.tipreq = txt_tipos.Text;
                    BE.serreq = txt_seros.Text;
                    BE.numreq = txt_numos.Text;
                    BE.idx = "DEL";

                    if (BL.Delete(EmpresaID, BE))
                    {
                        SEGURIDAD_LOG("E");
                        MessageBox.Show("Datos Eliminado Correctamente !!!", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        NIVEL_FORMS();
                        limpiar_documento();
                        form_bloqueado(false);
                        //CargarDatos();
                        btn_nuevo.Enabled = true;
                        if (TablaOrdenServ != null)
                            TablaOrdenServ.Rows.Clear();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void txt_numop01_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                String xnumop = "";
                //xnumop = txt_numop01.Text.PadLeft(10, '0');

                //if (cmb_serieop.SelectedIndex == 0)
                //{
                //    MessageBox.Show("Seleccione una Serie OP", "Mensaje");
                //    return;
                //}
                //else if (ValidaDet(cmb_serieop.Text,xnumop))
                //{
                    // CARGAMOS EL DETALLE
                    tb_pp_requerimientoprod BE = new tb_pp_requerimientoprod();
                    tb_pp_requerimientoprodBL BL = new tb_pp_requerimientoprodBL();
                    DataTable dt = new DataTable();
                    BE.tipop = "PP";
                    //BE.serop = cmb_serieop.Text;
                    BE.numop = xnumop.ToString();

                    dt = BL.GetAllOrden_PIVOT(EmpresaID, BE).Tables[0];

                    if (dt.Rows.Count > 0)
                    {
                        foreach (DataRow fila in dt.Rows)
                        {
                            row = TablaOrdenServ.NewRow();
                            //dgv_requerimiento.Rows[cont + 1].Cells["ordenprod"].Value = fila["ordenprod"].ToString().Trim();
                            //cont++;
                            row["tipop"] = fila["tipop"].ToString();
                            row["serop"] = fila["serop"].ToString();
                            row["numop"] = fila["numop"].ToString().Trim();

                            row["ordenprod"] = fila["ordenprod"].ToString().Trim();
                            row["familiatelaid"] = fila["familiatelaid"].ToString().Trim();
                            row["articid"] = fila["articid"].ToString().Trim();
                            row["articidold"] = fila["articidold"].ToString().Trim();

                            row["colorid"] = fila["colorid"].ToString().Trim();
                            row["colorname"] = fila["colorname"].ToString().Trim();

                            row["can01"] = fila["can01"].ToString().Trim();
                            row["can02"] = fila["can02"].ToString().Trim();
                            row["can03"] = fila["can03"].ToString().Trim();
                            row["can04"] = fila["can04"].ToString().Trim();
                            row["can05"] = fila["can05"].ToString().Trim();
                            row["can06"] = fila["can06"].ToString().Trim();
                            row["can07"] = fila["can07"].ToString().Trim();
                            row["can08"] = fila["can08"].ToString().Trim();
                            row["can09"] = fila["can09"].ToString().Trim();
                            row["can10"] = fila["can10"].ToString().Trim();
                            row["can11"] = fila["can11"].ToString().Trim();
                            row["can12"] = fila["can12"].ToString().Trim();

                            row["panios"] = fila["panios"].ToString().Trim();
                            row["totprendas"] = fila["totprendas"].ToString().Trim();

                            TablaOrdenServ.Rows.Add(row);
                        }

                        dgv_ordenservicio.DataSource = TablaOrdenServ;
                    }
                    else
                        MessageBox.Show("NO Existe OP","Mensaje");

                    //txt_numop01.Text = "";

                    // LO COMENTO PORQUE YA NO ES NECESARIO HACER NINGUNA INTERACCION CON EL DETALLE

                    //dgv_requerimiento.Enabled = true;
                    //dgv_requerimiento.ReadOnly = false;
                    //for (int j = 0; j < dgv_requerimiento.ColumnCount - 3; j++)
                    //    dgv_requerimiento.Columns[j].ReadOnly = true;
                    //dgv_requerimiento.Columns[dgv_requerimiento.ColumnCount - 1].ReadOnly = true;
                //}
            }
        }
        private void Update()
        {
            try
            {

                tb_pp_requerimientoprodBL BL = new tb_pp_requerimientoprodBL();
                tb_pp_requerimientoprod BE = new tb_pp_requerimientoprod();
                var Items = new tb_pp_requerimientoprod.Item();
                var ListaItems = new List<tb_pp_requerimientoprod.Item>();

                #region Variables de OrdenProdCab
                BE.tipreq = txt_tipreq.Text;
                BE.serreq = txt_serreq.Text;
                BE.numreq = txt_numreq.Text;
                BE.servcorteid = txt_servcorteid.Text;
                BE.fechini = Convert.ToDateTime(txt_fechini.Text);
                if (txt_fechentrega.Text.Length > 0)
                    BE.fechfin = Convert.ToDateTime(txt_fechentrega.Text);
                BE.usuar = VariablesPublicas.Usuar.ToUpper().Trim();
                BE.estado = "0";
                BE.observ = "N/A";
                BE.idx = "UPD";
                #endregion

                if (dgv_requerimiento.Rows.Count > 0 && dgv_requerimiento.ColumnCount > 0)
                {
                    int num = 1;
                    for (int i = 0; i < dgv_requerimiento.RowCount; i++)
                    {
                        for (int j = 13; j < dgv_requerimiento.Columns.Count - 2; j++)
                        {
                            Items = new tb_pp_requerimientoprod.Item();

                            Items.tipreq = txt_tipreq.Text;
                            Items.serreq = txt_serreq.Text;
                            Items.numreq = txt_numreq.Text;

                            Items.tipop = dgv_requerimiento.Rows[i].Cells["tipop"].Value.ToString();
                            Items.serop = dgv_requerimiento.Rows[i].Cells["serop"].Value.ToString();
                            Items.numop = dgv_requerimiento.Rows[i].Cells["numop"].Value.ToString();
                            String xx = dgv_requerimiento.Rows[i].Cells["familiatelaid"].Value.ToString();
                            Items.familiaid = dgv_requerimiento.Rows[i].Cells["familiatelaid"].Value.ToString();
                            Items.articidold = dgv_requerimiento.Rows[i].Cells["articidold"].Value.ToString();
                            Items.articid = dgv_requerimiento.Rows[i].Cells["articid"].Value.ToString();
                            Items.coltalla = num.ToString().PadLeft(2, '0');
                            Items.colorid = dgv_requerimiento.Rows[i].Cells["colorid"].Value.ToString();
                            Items.cantreal = Convert.ToInt32(dgv_requerimiento.Rows[i].Cells[j].Value.ToString());

                            Items.panios = Convert.ToInt32(dgv_requerimiento.Rows[i].Cells[dgv_requerimiento.ColumnCount - 2].Value.ToString());
                            Items.estado = "0";
                            Items.totprendas = Convert.ToInt32(dgv_requerimiento.Rows[i].Cells[dgv_requerimiento.ColumnCount - 1].Value.ToString());
                            num++;
                            ListaItems.Add(Items);
                        }
                        num = 1;
                    }
                }

                BE.ListaItems = ListaItems;

                if (BL.Update(EmpresaID, BE))
                {
                    SEGURIDAD_LOG("M");
                    MessageBox.Show("Datos Modificado Correctamente !!!", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    procesado = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void Gen_numReq()
        {
            try
            {
                var BL = new tb_pp_requerimientoprodBL();
                var BE = new tb_pp_requerimientoprod();
                var dt = new DataTable();

                BE.dominioid = dominio.ToString();
                BE.moduloid = modulo.ToString();
                BE.localid = local.ToString();
                BE.tipreq = txt_tipreq.Text.ToUpper().Trim();
                BE.serreq = txt_serreq.Text.ToUpper().Trim();

                dt = BL.GetAll_NUM(EmpresaID, BE).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    txt_numreq.Text = dt.Rows[0]["numreq"].ToString();
                }
                else
                {
                    MessageBox.Show("Asignar la Accion del Documento", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        //private DataTable reqproduccion(String tipop, String serop, String numop)
        private DataTable reqproduccion(String tipdoc, String serdoc, String numdoc)
        {
            try
            {
                DtReporte = new DataTable("Produccion");

                var BL = new tb_pp_requerimientoprodBL();
                var BE = new tb_pp_requerimientoprod();

                //BE.moduloid = moduloid.Trim();
                //BE.local = local.Trim();
                BE.tipreq = tipdoc.Trim();
                BE.serreq = serdoc.Trim();
                BE.numreq = numdoc.Trim();

                //BE.tipop = tipop.Trim();
                //BE.serop = serop.Trim();
                //BE.numop = numop.Trim();

                //BE.Convalor = convalor;

                DtReporte = BL.GetAll_RptProd(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (DtReporte != null)
                {
                    return DtReporte;
                }
                else
                {
                    return DtReporte;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void active_reporte_req_produccion(String tipop, String serop, String numop)
        {
            try
            {

                var path = string.Empty;
                var directorios = Application.StartupPath.Split('\\');
                if (directorios.Length > 0)
                {
                    path = directorios[0] + "\\" + directorios[1];
                }

                var BL = new tb_pp_requerimientoprodBL();
                var BE = new tb_pp_requerimientoprod();
                var dt = new DataTable();

                BE.tipreq = tipdoc.Trim();
                BE.serreq = serdoc.Trim();
                BE.numreq = numdoc.Trim();

                string
                    talla,
                    ta01="",ta02="",ta03="",ta04="",
                    ta05="",ta06="",ta07="",ta08="",
                    ta09="",ta10="",ta11="",ta12="";

                dt = BL.GetOne_Tallaid(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];

                if (dt.Rows.Count > 0) {
                    talla = dt.Rows[0]["tallaid"].ToString();

                    switch (talla)
                    {
                        case "A1":
                             ta01="02";ta02="04";ta03="06";ta04="08";
                             ta05="10";ta06="12";ta07="14";ta08="16";
                             ta09="18";ta10="NN";ta11="NN";ta12="NN";
                            break;

                        case "B1":
                             ta01="26";ta02="28";ta03="30";ta04="32";
                             ta05="34";ta06="36";ta07="38";ta08="40";
                             ta09="42";ta10="42";ta11="44";ta12="48";
                            break;
                        case "B2":
                             ta01="16";ta02="26";ta03="28";ta04="30";
                             ta05="NN";ta06="NN";ta07="NN";ta08="NN";
                             ta09="NN";ta10="NN";ta11="NN";ta12="NN";
                            break;
                        case "B3":
                             ta01="38";ta02="40";ta03="44";ta04="46";
                             ta05="48";ta06="50";ta07="NN";ta08="NN";
                             ta09="NN";ta10="NN";ta11="NN";ta12="NN";
                            break;
                        case "C1":
                             ta01="26";ta02="27";ta03="28";ta04="29";
                             ta05="30";ta06="31";ta07="32";ta08="33";
                             ta09="34";ta10="36";ta11="NN";ta12="NN";
                             break;

                        case "C2":
                             ta01="28";ta02="29";ta03="30";ta04="31";
                             ta05="32";ta06="33";ta07="34";ta08="35";
                             ta09="36";ta10="37";ta11="NN";ta12="NN";
                            break;
                        case "C3":
                             ta01="37";ta02="38";ta03="39";ta04="40";
                             ta05="41";ta06="42";ta07="43";ta08="44";
                             ta09="NN";ta10="NN";ta11="NN";ta12="NN";
                            break;
                        case "D1":
                             ta01=" S";ta02=" M";ta03=" L";ta04="XL";
                             ta05="XS";ta06="2X";ta07="26";ta08="3X";
                             ta09="ST";ta10="NN";ta11="NN";ta12="NN";
                            break;
                        case "D2":
                             ta01="XS";ta02=" S";ta03=" M";ta04=" L";
                             ta05="XL";ta06="2X";ta07="3X";ta08="4X";
                             ta09="5X";ta10="6X";ta11="NN";ta12="NN";
                            break;
                        case "E1":
                             ta01="14";ta02=" ½";ta03="15";ta04=" ½";
                             ta05="16";ta06=" ½";ta07="17";ta08=" ½";
                             ta09="18";ta10=" ½";ta11="NN";ta12="NN";
                            break;
                        case "E2":
                             ta01="15";ta02=" ½";ta03="16";ta04=" ½";
                             ta05="17";ta06=" ½";ta07="18";ta08=" ½";
                             ta09="19";ta10=" ½";ta11="NN";ta12="NN";
                            break;
                        case "F1":
                             ta01="26";ta02="27";ta03="28";ta04="29";
                             ta05="30";ta06="31";ta07="32";ta08="33";
                             ta09="34";ta10="38";ta11="NN";ta12="NN";
                            break;
                        case "F2":
                             ta01="25";ta02="26";ta03="27";ta04="28";
                             ta05="29";ta06="30";ta07="32";ta08="34";
                             ta09="NN";ta10="NN";ta11="NN";ta12="NN";
                            break;
                        case "G1":
                             ta01="14";ta02="16";ta03=" S";ta04=" M";
                             ta05=" L";ta06="NN";ta07="NN";ta08="NN";
                             ta09="NN";ta10="NN";ta11="NN";ta12="NN";
                            break;
                        case "H1":
                             ta01=" 1";ta02=" 2";ta03=" 3";ta04=" 4";
                             ta05=" 5";ta06=" 6";ta07=" 7";ta08=" 8";
                             ta09="10";ta10="12";ta11="NN";ta12="NN";
                            break;
                        case "H2":
                             ta01="3M";ta02="6M";ta03="9M";ta04="12";
                             ta05="18";ta06="24";ta07="NN";ta08="NN";
                             ta09="NN";ta10="NN";ta11="NN";ta12="NN";
                            break;
                        case "H3":
                             ta01=" 1";ta02=" 2";ta03=" 3";ta04=" 4";
                             ta05=" 5";ta06=" 6";ta07=" 7";ta08=" 8";
                             ta09=" 9";ta10="10";ta11="NN";ta12="NN";
                            break;
                        case "J1":
                             ta01="16";ta02="28";ta03="30";ta04="32";
                             ta05="34";ta06="36";ta07="38";ta08="40";
                             ta09="42";ta10="44";ta11="NN";ta12="NN";
                            break;
                        case "K1":
                             ta01="NN";ta02="SU";ta03="NN";ta04="NN";
                             ta05="NN";ta06="NN";ta07="NN";ta08="NN";
                             ta09="NN";ta10="NN";ta11="NN";ta12="NN";
                            break;
                        case "L1":
                             ta01="38";ta02="1/2";ta03="39";ta04="1/2";
                             ta05="40";ta06="1/2";ta07="41";ta08="1/2";
                             ta09="42";ta10="1/2";ta11="00";ta12="00";
                            break;
                        case "L2":
                             ta01="35";ta02=" ½";ta03="36";ta04=" ½";
                             ta05="37";ta06=" ½";ta07="38";ta08=" ½";
                             ta09="39";ta10=" ½";ta11="NN";ta12="NN";
                            break;
                    }

                }

                if (moduloid.Trim() == "0320" && local.Trim() == "002")
                {
                    var reportemovimientos = new CR_Rpt_prod();
                    reportemovimientos.DataDefinition.FormulaFields["empresaname"].Text = "'EMPRESA: " + VariablesPublicas.EmpresaName.Trim() + "'";
                    reportemovimientos.DataDefinition.FormulaFields["empresaruc"].Text = "'RUC: " + VariablesPublicas.EmpresaRuc.Trim() + "'";
                    reportemovimientos.DataDefinition.FormulaFields["usuario"].Text = "'" + VariablesPublicas.Nombr.Trim() + "'";
                    reportemovimientos.DataDefinition.FormulaFields["ta01"].Text = ((ta01)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta02"].Text = ((ta02)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta03"].Text = ((ta03)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta04"].Text = ((ta04)).ToString();

                    reportemovimientos.DataDefinition.FormulaFields["ta05"].Text = ((ta05)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta06"].Text = ((ta06)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta07"].Text = ((ta07)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta08"].Text = ((ta08)).ToString();

                    reportemovimientos.DataDefinition.FormulaFields["ta09"].Text = ((ta09)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta10"].Text = ((ta10)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta11"].Text = ((ta11)).ToString();
                    reportemovimientos.DataDefinition.FormulaFields["ta12"].Text = ((ta12)).ToString();

                    //reportemovimientos.DataDefinition.FormulaFields["varitems"].Text = "''";

                    //reportemovimientos.SetDataSource(reqproduccion(tipop, serop, numop));
                    reportemovimientos.SetDataSource(reqproduccion(tipdoc, serdoc, numdoc));
                    crystalReportViewer1.ReportSource = reportemovimientos;
                    crystalReportViewer1.Show();
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }