private void Insert()
        {
            try
            {
                if (txt_fechentrega.Text.Length == 0)
                {
                    MessageBox.Show("Indicar la Fecha de Entrega ...","Verificar");
                    return;
                }
                else
                {
                    tb_pp_ordenservicioBL BL = new tb_pp_ordenservicioBL();
                    tb_pp_ordenservicio BE = new tb_pp_ordenservicio();
                    var Items = new tb_pp_ordenservicio.Item();
                    var ListaItems = new List<tb_pp_ordenservicio.Item>();

                    #region Variables de Orden-Servicio Cabecera
                    BE.tipos = txt_tipos.Text;
                    BE.seros = txt_seros.Text;
                    BE.numos = txt_numos.Text;
                    BE.tipfac = cmb_tipdocsalida.Text;
                    BE.serfac = "0001";
                    BE.numfac = txt_numdocsalida.Text;
                    BE.tipgr = "";
                    BE.sergr = "";
                    BE.numgr = "";
                    //BE.tipdoc = cmb_tipgr.Text;
                    //BE.serdoc = "0001";
                    //BE.numdoc = txt_numgr.Text;
                    //BE.fechini = Convert.ToDateTime(txt_fechini.Text);
                    //BE.fechfin = Convert.ToDateTime(txt_fechentrega.Text);
                    //BE.ctacteprov = txt_ctacte.Text;
                    //BE.tiporden = cmb_tiporden.SelectedValue.ToString();
                    //BE.condpagoid = cmb_formapago.SelectedValue.ToString();
                    //BE.monedaid = cmb_moneda.SelectedValue.ToString();
                    //BE.fechautoriza = Convert.ToDateTime(txt_fechautori.Text);
                    //BE.estado = "0";
                    //BE.totalcant = Convert.ToInt32(txt_totprendas.Text);
                    //BE.totalpeso = Convert.ToDecimal(txt_totpeso.Text);
                    //BE.totalimp = Convert.ToDecimal(txt_subtotal.Text);
                    //BE.totaligv = Convert.ToDecimal(txt_igv.Text);
                    //BE.totalneto = Convert.ToDecimal(txt_totneto.Text);
                    //BE.usuar = VariablesPublicas.Usuar.Trim().ToUpper();
                    //BE.observacion = txt_observacion.Text;
                    //BE.servid = rdb_servid.EditValue.ToString();

                    #endregion

                    if (dgv_ordenservicio.Rows.Count > 0 && dgv_ordenservicio.ColumnCount > 0)
                    {
                        for (int i = 0; i < dgv_ordenservicio.RowCount; i++)
                        {
                            Items = new tb_pp_ordenservicio.Item();
                            Items.proceso = dgv_ordenservicio.Rows[i].Cells["proceso"].Value.ToString();
                            Items.tipop = "OP";
                            string xserdoc = Equivalencias.Left(dgv_ordenservicio.Rows[i].Cells["ordenprod"].Value.ToString(), 4);
                            string xnumop = Equivalencias.Right(dgv_ordenservicio.Rows[i].Cells["ordenprod"].Value.ToString(), 1).PadLeft(10, '0');
                            Items.serop = xserdoc;
                            Items.numop = xnumop;
                            Items.marcaid = dgv_ordenservicio.Rows[i].Cells["marcaid"].Value.ToString();
                            Items.articid = dgv_ordenservicio.Rows[i].Cells["articid"].Value.ToString();
                            Items.colorid = dgv_ordenservicio.Rows[i].Cells["colorid"].Value.ToString();
                            Items.cantidad = Convert.ToInt32(dgv_ordenservicio.Rows[i].Cells["cantidad"].Value.ToString());
                            Items.unmed = dgv_ordenservicio.Rows[i].Cells["unmed"].Value.ToString();
                            Items.peso = Convert.ToDecimal(dgv_ordenservicio.Rows[i].Cells["peso"].Value.ToString());
                            //Items.precuni = Convert.ToDecimal(dgv_ordenservicio.Rows[i].Cells["precuni"].Value.ToString());
                            //Items.precunipeso = Convert.ToDecimal(dgv_ordenservicio.Rows[i].Cells["precunipeso"].Value.ToString());
                            Items.importe = Convert.ToDecimal(dgv_ordenservicio.Rows[i].Cells["importe"].Value.ToString());
                            ListaItems.Add(Items);
                        }
                    }

                    BE.ListaItems = ListaItems;

                    if (BL.Insert(EmpresaID, BE))
                    {
                        MessageBox.Show("Datos Grabados 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_ordenservicioBL();
                var BE = new tb_pp_ordenservicio();
                var dt = new DataTable();

                BE.dominioid = dominio.ToString();
                BE.moduloid = modulo.ToString();
                BE.localid = local.ToString();
                BE.tipos = txt_tipos.Text.ToUpper().Trim();
                BE.seros = txt_seros.Text.ToUpper().Trim();

                dt = BL.GetAll_NUM(EmpresaID, BE).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    txt_numos.Text = dt.Rows[0]["numordserv"].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 void Insert()
        {
            try
            {
                if (txt_fechfin.Text.Length == 0)
                {
                    MessageBox.Show("Indicar la Fecha de Entrega ...", "Verificar");
                    return;
                }
                else if (cmb_moneda.SelectedIndex == -1)
                {
                    MessageBox.Show("Seleccionar El Tipo de Moneda ...", "Verificar");
                    return;
                }
                else
                {
                    tb_pp_ordenservicioBL BL = new tb_pp_ordenservicioBL();
                    tb_pp_ordenservicio BE = new tb_pp_ordenservicio();
                    var Items = new tb_pp_ordenservicio.Item();
                    var ListaItems = new List<tb_pp_ordenservicio.Item>();

                    #region Variables de Orden-Servicio Cabecera
                    BE.tipos = txt_tipos.Text;
                    BE.seros = txt_seros.Text;
                    BE.numos = txt_numos.Text;
                    BE.fechini = Convert.ToDateTime(txt_fechini.Text);
                    BE.fechfin = Convert.ToDateTime(txt_fechfin.Text);
                    BE.precprenda = rdb_servid.SelectedIndex == 0 ? true : false;
                    BE.cantidad = Convert.ToInt32(txt_totprendas.Text);
                    BE.peso = Convert.ToDecimal(txt_totpeso.Text);
                    BE.moneda = cmb_moneda.SelectedValue.ToString();
                    BE.tcambio = Convert.ToDecimal(tcamb.Text);
                    BE.bimpo = Convert.ToDecimal(txt_subtotal.Text);
                    BE.migv = Convert.ToDecimal(txt_igv.Text);
                    BE.pvent = Convert.ToDecimal(txt_totneto.Text);
                    BE.ctacte = xctacte.ToString();
                    BE.tipop = "OP";
                    BE.serop = txt_serop.Text;
                    BE.numop = txt_numop.Text;
                    BE.secuencia = Convert.ToInt32(Equivalencias.Left(cmb_secuencia.Text, 1));
                    BE.faseid = Convert.ToInt32(cmb_secuencia.SelectedValue.ToString());
                    BE.estado = cmb_estado.SelectedIndex.ToString();
                    BE.tipfac = "FA";
                    BE.serfac = txt_serfac.Text;
                    BE.numfac = txt_numfac.Text;
                    BE.tipgr = "GR";
                    BE.sergr = txt_serguia.Text;
                    BE.numgr = txt_numguia.Text;
                    BE.tipfas = "GI";
                    BE.serfas = txt_serfase.Text;
                    BE.numfas = txt_numfase.Text;
                    BE.usuar = VariablesPublicas.Usuar.Trim().ToUpper();
                    BE.observacion = txt_observacion.Text;

                    #endregion

                    if (dgv_ordenserv.Rows.Count > 0 && dgv_ordenserv.ColumnCount > 0)
                    {
                        for (int i = 0; i < dgv_ordenserv.RowCount; i++)
                        {
                            Items = new tb_pp_ordenservicio.Item();
                            Items.colorid = dgv_ordenserv.Rows[i].Cells["gcolorid"].Value.ToString();
                            Items.cantidad = Convert.ToInt32(dgv_ordenserv.Rows[i].Cells["gcantidad"].Value.ToString());
                            Items.peso = Convert.ToDecimal(dgv_ordenserv.Rows[i].Cells["gpeso"].Value.ToString());
                            Items.precunitpeso = Convert.ToDecimal(dgv_ordenserv.Rows[i].Cells["gprecunitpeso"].Value.ToString());
                            Items.precunit = Convert.ToDecimal(dgv_ordenserv.Rows[i].Cells["gprecunit"].Value.ToString());
                            Items.importe = Convert.ToDecimal(dgv_ordenserv.Rows[i].Cells["gimporte"].Value.ToString());
                            ListaItems.Add(Items);
                        }
                    }

                    BE.ListaItems = ListaItems;

                    if (BL.Insert(EmpresaID, BE))
                    {
                        MessageBox.Show("Datos Grabados Correctamente !!!", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        procesado = true;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void Update()
        {
            try
            {

                tb_pp_ordenservicioBL BL = new tb_pp_ordenservicioBL();
                tb_pp_ordenservicio BE = new tb_pp_ordenservicio();
                var Items = new tb_pp_ordenservicio.Item();
                var ListaItems = new List<tb_pp_ordenservicio.Item>();

                #region Variables de Orden-Servicio Cabecera

                BE.tipos = txt_tipos.Text;
                BE.seros = txt_seros.Text;
                BE.numos = txt_numos.Text;
                BE.tipfac = cmb_tipdocsalida.Text;
                BE.serfac = "0001";
                BE.numfac = txt_numdocsalida.Text;
                BE.tipgr = "";
                BE.sergr = "";
                BE.numgr = "";
                //BE.tipdoc = cmb_tipgr.Text;
                //BE.serdoc = "0001";
                //BE.numdoc = txt_numgr.Text;
                //BE.fechini = Convert.ToDateTime(txt_fechini.Text);
                //BE.fechfin = Convert.ToDateTime(txt_fechentrega.Text);
                //BE.ctacteprov = txt_ctacte.Text;
                //BE.tiporden = cmb_tiporden.SelectedValue.ToString();
                //BE.condpagoid = cmb_formapago.SelectedValue.ToString();
                //BE.monedaid = cmb_moneda.SelectedValue.ToString();
                //BE.fechautoriza = Convert.ToDateTime(txt_fechautori.Text);
                //BE.estado = "0";
                //BE.totalcant = Convert.ToInt32(txt_totprendas.Text);
                //BE.totalpeso = Convert.ToDecimal(txt_totpeso.Text);
                //BE.totalimp = Convert.ToDecimal(txt_subtotal.Text);
                //BE.totaligv = Convert.ToDecimal(txt_igv.Text);
                //BE.totalneto = Convert.ToDecimal(txt_totneto.Text);
                //BE.usuar = VariablesPublicas.Usuar.Trim().ToUpper();
                //BE.observacion = txt_observacion.Text;
                //BE.servid = rdb_servid.EditValue.ToString();

                #endregion

                if (dgv_ordenservicio.Rows.Count > 0 && dgv_ordenservicio.ColumnCount > 0)
                {
                    for (int i = 0; i < dgv_ordenservicio.RowCount; i++)
                    {
                        Items = new tb_pp_ordenservicio.Item();
                        Items.proceso = dgv_ordenservicio.Rows[i].Cells["proceso"].Value.ToString();
                        Items.marcaid = dgv_ordenservicio.Rows[i].Cells["marca"].Value.ToString();
                        Items.articid = dgv_ordenservicio.Rows[i].Cells["articid"].Value.ToString();
                        Items.coltalla = dgv_ordenservicio.Rows[i].Cells["coltalla"].Value.ToString();
                        Items.colorid = dgv_ordenservicio.Rows[i].Cells["colorid"].Value.ToString();
                        Items.cantidad = Convert.ToInt32(dgv_ordenservicio.Rows[i].Cells["cantidad"].Value.ToString());
                        Items.unmed = dgv_ordenservicio.Rows[i].Cells["unmed"].Value.ToString();
                        Items.peso = Convert.ToDecimal(dgv_ordenservicio.Rows[i].Cells["peso"].Value.ToString());
                        //Items.precuni = Convert.ToDecimal(dgv_ordenservicio.Rows[i].Cells["precuni"].Value.ToString());
                        //Items.precunipeso = Convert.ToDecimal(dgv_ordenservicio.Rows[i].Cells["precunipeso"].Value.ToString());
                        Items.importe = Convert.ToDecimal(dgv_ordenservicio.Rows[i].Cells["importe"].Value.ToString());
                        ListaItems.Add(Items);
                    }
                }

                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);
            }
        }
        void CargarDatosOrdServ(String xnumserv)
        {
            tb_pp_ordenservicioBL BL = new tb_pp_ordenservicioBL();
            tb_pp_ordenservicio BE = new tb_pp_ordenservicio();
            DataTable dt = new DataTable();

            BE.tipos = "OS";
            BE.seros = "2015";
            BE.numos = xnumserv;
            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_seros.Text = dt.Rows[0]["seros"].ToString();
                    txt_numos.Text = dt.Rows[0]["numos"].ToString();
                    txt_fechini.Text = dt.Rows[0]["fechini"].ToString();
                    txt_fechfin.Text = dt.Rows[0]["fechfin"].ToString();

                    txt_serfac.Text = dt.Rows[0]["serfac"].ToString();
                    txt_numfac.Text = dt.Rows[0]["numfac"].ToString();
                    txt_serguia.Text = dt.Rows[0]["sergr"].ToString();
                    txt_numguia.Text = dt.Rows[0]["numgr"].ToString();
                    txt_serop.Text = dt.Rows[0]["serop"].ToString();
                    txt_numop.Text = dt.Rows[0]["numop"].ToString();

                    txt_serfase.Text = dt.Rows[0]["serfas"].ToString();
                    txt_numfase.Text = dt.Rows[0]["numfas"].ToString();

                    txt_articidold.Text = dt.Rows[0]["articidold"].ToString();
                    txt_articname.Text = dt.Rows[0]["articname"].ToString();
                    xctacte = dt.Rows[0]["ctacte"].ToString();
                    txt_servtaller.Text = dt.Rows[0]["ctactename"].ToString();

                    CargamosSecuenciaCmb();
                    cmb_secuencia.SelectedValue = dt.Rows[0]["faseid"].ToString();
                    CargamosColorCmb();

                    cmb_estado.SelectedIndex = Convert.ToInt32(dt.Rows[0]["estado"].ToString());

                    cmb_moneda.SelectedValue = dt.Rows[0]["moneda"].ToString();
                    tcamb.Text = dt.Rows[0]["tcambio"].ToString();
                    rdb_servid.SelectedIndex = dt.Rows[0]["tcambio"].ToString() == "1" ? 0 : 1;
                    txt_observacion.Text = dt.Rows[0]["observacion"].ToString();

                    txt_totprendas.Text = dt.Rows[0]["cantidad"].ToString();
                    txt_totpeso.Text = dt.Rows[0]["peso"].ToString();
                    txt_subtotal.Text = dt.Rows[0]["bimpo"].ToString();
                    txt_igv.Text = dt.Rows[0]["migv"].ToString();
                    txt_totneto.Text = dt.Rows[0]["pvent"].ToString();

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

                    btn_editar.Enabled = true;
                    btn_eliminar.Enabled = true;
                    btn_imprimir.Enabled = true;
                    btn_salir.Enabled = true;
                    pdtimagen.Visible = false;
                }
                else
                {
                    txt_seros.Text = dt.Rows[0]["seros"].ToString();
                    txt_numos.Text = dt.Rows[0]["numos"].ToString();
                    txt_fechini.Text = dt.Rows[0]["fechini"].ToString();
                    txt_fechfin.Text = dt.Rows[0]["fechfin"].ToString();

                    txt_serfac.Text = dt.Rows[0]["serfac"].ToString();
                    txt_numfac.Text = dt.Rows[0]["numfac"].ToString();
                    txt_serguia.Text = dt.Rows[0]["sergr"].ToString();
                    txt_numguia.Text = dt.Rows[0]["numgr"].ToString();
                    txt_serop.Text = dt.Rows[0]["serop"].ToString();
                    txt_numop.Text = dt.Rows[0]["numop"].ToString();

                    txt_serfase.Text = dt.Rows[0]["serfas"].ToString();
                    txt_numfase.Text = dt.Rows[0]["numfas"].ToString();

                    txt_articidold.Text = dt.Rows[0]["articidold"].ToString();
                    txt_articname.Text = dt.Rows[0]["articname"].ToString();
                    xctacte = dt.Rows[0]["ctacte"].ToString();
                    txt_servtaller.Text = dt.Rows[0]["ctactename"].ToString();

                    CargamosSecuenciaCmb();
                    cmb_secuencia.SelectedValue = dt.Rows[0]["faseid"].ToString();
                    CargamosColorCmb();

                    cmb_estado.SelectedIndex = Convert.ToInt32(dt.Rows[0]["estado"].ToString());

                    cmb_moneda.SelectedValue = dt.Rows[0]["moneda"].ToString();
                    tcamb.Text = dt.Rows[0]["tcambio"].ToString();
                    rdb_servid.SelectedIndex = dt.Rows[0]["tcambio"].ToString() == "1" ? 0 : 1;
                    txt_observacion.Text = dt.Rows[0]["observacion"].ToString();

                    txt_totprendas.Text = dt.Rows[0]["cantidad"].ToString();
                    txt_totpeso.Text = dt.Rows[0]["peso"].ToString();
                    txt_subtotal.Text = dt.Rows[0]["bimpo"].ToString();
                    txt_igv.Text = dt.Rows[0]["migv"].ToString();
                    txt_totneto.Text = dt.Rows[0]["pvent"].ToString();

                    BE.Idx = "DET"; //BUSCAMOS EL DETALLE
                    TablaOrdenServ = BL.GetAllDet(EmpresaID, BE).Tables[0];
                    dgv_ordenserv.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!!!!!");
            }
        }