private void Update()
        {
            _cal_Igv();
            try
            {
                if (ctacte.Text.Trim().Length == 0)
                {
                    MessageBox.Show("Ingrese Proveedor/Cliente !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else
                {
                    if (Tabladetallemov.Rows.Count == 0)
                    {
                        MessageBox.Show("Documento no tiene Items !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    else
                    {
                        if (tcamb.Text.Trim() == "1")
                        {
                            MessageBox.Show("Actualize el Tipo de Cambio !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        else
                        {
                            if (numdoc.Text.Trim().Length == 10)
                            {
                                var BL = new tb_60movimientosBL();
                                var BE = new tb_60movimientos();

                                var Detalle = new tb_60movimientos.Item();
                                var ListaItems = new List<tb_60movimientos.Item>();

                                BE.dominioid = dominio;
                                BE.moduloid = modulo;
                                BE.local = local;
                                BE.tipodoc = tipodoc.SelectedValue.ToString();
                                BE.serdoc = serdoc.Text.Trim();
                                BE.numdoc = numdoc.Text.Trim();
                                BE.fechdoc = Convert.ToDateTime(fechdoc.Text);
                                BE.moneda = moneda.SelectedValue.ToString().Trim();
                                BE.tcamb = Convert.ToDecimal(tcamb.Text.Trim());
                                BE.almacaccionid = almacaccionid.Trim();
                                BE.tipoperacionid = tipoperacionid.SelectedValue.ToString();
                                BE.ctacteaccionid = string.Empty;
                                BE.ctacte = ctacte.Text.Trim().ToUpper();
                                BE.nmruc = nmruc.Text.Trim();
                                BE.ctactename = ctactename.Text.Trim().ToUpper();
                                BE.direc = direc.Text.Trim().ToUpper();
                                BE.direcnume = direcnume.Trim().ToUpper();
                                BE.direcname = direcname.Text.Trim().ToUpper();
                                BE.direcdeta = direcdeta.Text.Trim().ToUpper();
                                if (tipref.SelectedValue != null && serref.Text.Trim().Length > 0)
                                {
                                    if (tipref.SelectedValue.ToString() == "OC")
                                    {
                                        BE.tipref = tipref.SelectedValue.ToString();
                                        BE.serref = serref.Text.Trim().PadLeft(4, '0');

                                        BE.numref = numdococ1.Text.Trim() + numdococ.Text.Trim().PadLeft(6, '0');

                                        try
                                        {
                                            BE.fechref = Convert.ToDateTime(fechref.Text.Trim());
                                        }
                                        catch
                                        {
                                            BE.fechref = Convert.ToDateTime("01/01/1900");
                                        }
                                    }
                                    else
                                    {
                                        if (tipref.SelectedValue.ToString() == "SO")
                                        {
                                            BE.tipref = string.Empty;
                                            BE.serref = string.Empty;
                                            BE.numref = string.Empty;
                                            try
                                            {
                                                BE.fechref = Convert.ToDateTime(fechref.Text.Trim());
                                            }
                                            catch
                                            {
                                                BE.fechref = Convert.ToDateTime("01/01/1900");
                                            }
                                        }
                                    }
                                }
                                if (ser_op.Text.Trim().Length > 0 && num_op.Text.Trim().Length > 0)
                                {
                                    BE.tip_op = "OP";
                                    BE.ser_op = ser_op.Text.Trim().PadLeft(4, '0');
                                    BE.num_op = num_op.Text.Trim().PadLeft(10, '0');
                                }
                                if (serfac.Text.Trim().Length > 0 && numfac.Text.Trim().Length > 0)
                                {
                                    BE.tipfac = tipfac.SelectedItem.ToString();
                                    BE.serfac = serfac.Text.Trim().ToString().PadLeft(4, '0');
                                    BE.numfac = numfac.Text.Trim().ToString().PadLeft(10, '0');
                                    try
                                    {
                                        BE.fechfac = Convert.ToDateTime(fechfac.Text.Trim());
                                    }
                                    catch
                                    {
                                        BE.fechfac = Convert.ToDateTime("01/01/1900");
                                    }
                                }
                                if (serguia.Text.Trim().Length > 0 && numguia.Text.Trim().Length > 0)
                                {
                                    BE.tipguia = tipguia.Text.Trim();
                                    BE.serguia = serguia.Text.Trim().ToString().PadLeft(4, '0');
                                    BE.numguia = numguia.Text.Trim().ToString().PadLeft(10, '0');
                                    try
                                    {
                                        BE.fechguia = Convert.ToDateTime(fechguia.Text.Trim());
                                    }
                                    catch
                                    {
                                        BE.fechguia = Convert.ToDateTime("01/01/1900");
                                    }
                                }
                                if (sernotac.Text.Trim().Length > 0 && numnotac.Text.Trim().Length > 0)
                                {
                                    BE.tipnotac = tipnotac.Text.Trim();
                                    BE.sernotac = sernotac.Text.Trim().ToString().PadLeft(4, '0');
                                    BE.numnotac = numnotac.Text.Trim().ToString().PadLeft(10, '0');
                                    try
                                    {
                                        BE.fechnotac = Convert.ToDateTime(fechnotac.Text.Trim());
                                    }
                                    catch
                                    {
                                        BE.fechnotac = Convert.ToDateTime("01/01/1900");
                                    }
                                }
                                if (vendperid.Text.Trim().Length > 0)
                                {
                                    BE.perdni = vendperid.Text.Trim().ToString();
                                }
                                ;
                                BE.ubige = "000000";
                                BE.cencosid = cencosid.Text.Trim().ToString();
                                BE.estacion = estacion.Text.Trim().ToString();

                                try
                                {
                                    BE.totdscto1 = Convert.ToDecimal(totdscto1.Text.Trim());
                                }
                                catch
                                {
                                    BE.totdscto1 = Convert.ToDecimal(0);
                                }
                                BE.tipimptoid = tipimptotasa.SelectedValue.ToString().Trim();
                                BE.incprec = incprec.Trim();
                                BE.items = Convert.ToDecimal(itemsT.Text.Trim());
                                BE.totpzas = Convert.ToDecimal(totpzas.Text.Trim());
                                BE.bruto = Convert.ToDecimal(bruto.Text.Trim());
                                BE.igv = igv;
                                BE.totimpto = Convert.ToDecimal(totimpto.Text.Trim());
                                BE.valventa = Convert.ToDecimal(valventa.Text.Trim());
                                BE.totimporte = Convert.ToDecimal(totimporte.Text.Trim());
                                BE.codctadebe = string.Empty;
                                BE.codctahaber = string.Empty;
                                BE.glosa = glosa.Text.Trim().ToUpper().ToString();
                                try
                                {
                                    BE.fechcancel = Convert.ToDateTime("01/01/1900");
                                }
                                catch
                                {
                                    BE.fechcancel = Convert.ToDateTime("01/01/1900");
                                }
                                try
                                {
                                    BE.fechentrega = Convert.ToDateTime(fechentrega.Text.Trim());
                                }
                                catch
                                {
                                    BE.fechentrega = Convert.ToDateTime("01/01/1900");
                                }
                                try
                                {
                                    BE.fechpago = Convert.ToDateTime(fechpago.Text.Trim());
                                }
                                catch
                                {
                                    BE.fechpago = Convert.ToDateTime("01/01/1900");
                                }
                                BE.transpid = transpid.Text.Trim().ToString();
                                if (motivotrasladoid.SelectedValue != null)
                                {
                                    BE.motivotrasladoid = motivotrasladoid.SelectedValue.ToString();
                                }
                                if (mottrasladointid.SelectedValue != null)
                                {
                                    BE.mottrasladointid = mottrasladointid.SelectedValue.ToString();
                                }
                                BE.ddnni = ddnni.Text.Trim();
                                BE.tipdid = string.Empty;
                                BE.statborrado = string.Empty;
                                BE.clientetipo = string.Empty;
                                BE.modofactu = string.Empty;
                                BE.tipodocmanejaserie = tipodocmanejaserie;

                                BE.perianio = fechdoc.Value.Year.ToString();
                                BE.perimes = fechdoc.Value.Month.ToString().PadLeft(2 , '0');
                                BE.status = "0";
                                BE.usuar = VariablesPublicas.Usuar;

                                var item = 0;
                                foreach (DataRow fila in Tabladetallemov.Rows)
                                {
                                    Detalle = new tb_60movimientos.Item();

                                    item++;

                                    Detalle.fechdoc = Convert.ToDateTime(fechdoc.Text);
                                    Detalle.moneda = moneda.SelectedValue.ToString().Trim();
                                    Detalle.tcamb = Convert.ToDecimal(tcamb.Text.Trim());
                                    Detalle.tipoperacionid = tipoperacionid.SelectedValue.ToString();
                                    Detalle.ctacteaccionid = string.Empty;
                                    Detalle.ctacte = ctacte.Text.Trim().ToUpper();
                                    Detalle.ctactename = ctactename.Text.Trim().ToUpper();
                                    Detalle.direcnume = direcnume.Trim().ToUpper();
                                    Detalle.direcname = direcname.Text.Trim().ToUpper();
                                    if (tipref.SelectedValue != null && serref.Text.Trim().Length > 0)
                                    {
                                        Detalle.tipref = tipref.SelectedValue.ToString();
                                        Detalle.serref = serref.Text.Trim().PadLeft(4, '0');
                                        Detalle.numref = numdococ1.Text.Trim() + numdococ.Text.Trim().PadLeft(6, '0');
                                        try
                                        {
                                            Detalle.fechref = Convert.ToDateTime(fechref.Text.Trim());
                                        }
                                        catch
                                        {
                                            Detalle.fechref = Convert.ToDateTime("01/01/1900");
                                        }
                                    }
                                    if (ser_op.Text.Trim().Length > 0 && num_op.Text.Trim().Length > 0)
                                    {
                                        Detalle.tip_op = "OP";
                                        Detalle.ser_op = ser_op.Text.Trim().PadLeft(4, '0');
                                        Detalle.num_op = num_op.Text.Trim().PadLeft(10, '0');
                                    }
                                    if (serfac.Text.Trim().Length > 0 && numfac.Text.Trim().Length > 0)
                                    {
                                        Detalle.tipfac = tipfac.SelectedItem.ToString();
                                        Detalle.serfac = serfac.Text.Trim().ToString().PadLeft(4, '0');
                                        Detalle.numfac = numfac.Text.Trim().ToString().PadLeft(10, '0');
                                        try
                                        {
                                            Detalle.fechfac = Convert.ToDateTime(fechfac.Text.Trim());
                                        }
                                        catch
                                        {
                                            Detalle.fechfac = Convert.ToDateTime("01/01/1900");
                                        }
                                    }
                                    if (serguia.Text.Trim().Length > 0 && numguia.Text.Trim().Length > 0)
                                    {
                                        Detalle.tipguia = tipguia.Text.Trim();
                                        Detalle.serguia = serguia.Text.Trim().ToString().PadLeft(4, '0');
                                        Detalle.numguia = numguia.Text.Trim().ToString().PadLeft(10, '0');
                                        try
                                        {
                                            Detalle.fechguia = Convert.ToDateTime(fechguia.Text.Trim());
                                        }
                                        catch
                                        {
                                            Detalle.fechguia = Convert.ToDateTime("01/01/1900");
                                        }
                                    }
                                    if (sernotac.Text.Trim().Length > 0 && numnotac.Text.Trim().Length > 0)
                                    {
                                        Detalle.tipnotac = tipnotac.Text.Trim();
                                        Detalle.sernotac = sernotac.Text.Trim().ToString().PadLeft(4, '0');
                                        Detalle.numnotac = numnotac.Text.Trim().ToString().PadLeft(10, '0');
                                        try
                                        {
                                            Detalle.fechnotac = Convert.ToDateTime(fechnotac.Text.Trim());
                                        }
                                        catch
                                        {
                                            Detalle.fechnotac = Convert.ToDateTime("01/01/1900");
                                        }
                                    }
                                    Detalle.cencosid = cencosid.Text.Trim();
                                    if (vendperid.Text.Trim().Length > 0)
                                    {
                                        BE.vendorid = vendperid.Text.Trim().ToString();
                                    }
                                    ;
                                    Detalle.itemref = fila["itemref"].ToString();
                                    Detalle.itemsdet = item.ToString().PadLeft(5, '0');
                                    Detalle.rollo = fila["rollo"].ToString();
                                    Detalle.productid = fila["productid"].ToString();
                                    Detalle.productname = fila["productname"].ToString();

                                    Detalle.cantidad = Convert.ToDecimal(fila["cantidad"].ToString());
                                    Detalle.valor = Convert.ToDecimal(fila["valor"].ToString());
                                    Detalle.precunit = Convert.ToDecimal(fila["precunit"].ToString());
                                    Detalle.importe = Convert.ToDecimal(fila["importe"].ToString());
                                    Detalle.importfac = Convert.ToDecimal(fila["importfac"].ToString());
                                    Detalle.totimpto = Convert.ToDecimal(fila["totimpto"].ToString());
                                    Detalle.Ubicacion = fila["ubicacion"].ToString().ToUpper();
                                    Detalle.unmed = fila["unmed"].ToString().Trim();

                                    Detalle.nserie = fila["nserie"].ToString().Trim();

                                    Detalle.almacaccionid = almacaccionid;
                                    if (motivotrasladoid.SelectedValue != null)
                                    {
                                        Detalle.motivotrasladoid = motivotrasladoid.SelectedValue.ToString();
                                    }
                                    if (mottrasladointid.SelectedValue != null)
                                    {
                                        Detalle.mottrasladointid = mottrasladointid.SelectedValue.ToString();
                                    }
                                    Detalle.statcostopromed = statcostopromed.Trim();
                                    Detalle.tiptransac = tiptransac.Trim();
                                    Detalle.incprec = incprec.Trim();
                                    Detalle.igv = igv;
                                    Detalle.glosa = glosa.Text.Trim().ToUpper().ToString();
                                    Detalle.codctadebe = string.Empty;
                                    Detalle.codctahaber = string.Empty;

                                    Detalle.perianio = fechdoc.Value.Year.ToString();
                                    Detalle.perimes = fechdoc.Value.Month.ToString().PadLeft(2, '0');
                                    Detalle.status = "0";
                                    Detalle.usuar = VariablesPublicas.Usuar;

                                    if (ssModo != "EDIT")
                                    {
                                        fila["productid"].ToString();
                                        fila["cantidad"].ToString();
                                        fila["importfac"].ToString();

                                        if (fila["productid"].ToString().Trim().Length == 13 && Convert.ToDecimal(fila["cantidad"]) > 0 && Convert.ToDecimal(fila["importfac"]) > 0)
                                        {
                                            ListaItems.Add(Detalle);
                                        }
                                        else
                                        {
                                            MessageBox.Show("Documento DETALLE EN FORMATO INCORRECTO !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        ListaItems.Add(Detalle);
                                    }
                                }
                                if (ListaItems.Count == 0)
                                {
                                    MessageBox.Show("Documento SIN DETALLE Y/O DETALLE INCORRECTO !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return;
                                }

                                BE.ListaItems = ListaItems;
                                if (BL.Update(EmpresaID, BE))
                                {
                                    SEGURIDAD_LOG("M");
                                    NIVEL_FORMS();
                                    MessageBox.Show("Datos Modificados Correctamente !!!", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);

                                    form_bloqueado(false);
                                    Blanquear();
                                    tipodoc.Enabled = false;

                                    btn_nuevo.Enabled = true;
                                    btn_imprimir.Enabled = true;
                                    btnImprimirNoval.Enabled = true;

                                    btn_primero.Enabled = true;
                                    btn_anterior.Enabled = true;
                                    btn_siguiente.Enabled = true;
                                    btn_ultimo.Enabled = true;
                                    btn_salir.Enabled = true;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void Insert()
        {
            try
            {
                if (ctacte.Text.Trim().Length == 0)
                {
                    MessageBox.Show("Ingrese Proveedor/Cliente !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else
                {
                    if (TabladetallePedido.Rows.Count == 0)
                    {
                        MessageBox.Show("Documento no tiene Items !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    else
                    {
                        if (numdoc.Text.Trim().Length == 10)
                        {
                            var BL = new tb_60movimientosBL();
                            var BE = new tb_60movimientos();

                            var Detalle = new tb_60movimientos.Item();
                            var ListaItems = new List<tb_60movimientos.Item>();

                            BE.dominioid = dominio;
                            BE.moduloid = modulo;
                            BE.local = local;
                            BE.tipodoc = tipdoc.Text.ToString();
                            BE.serdoc = serdoc.Text.Trim();
                            BE.numdoc = numdoc.Text.ToString();
                            BE.fechdoc = Convert.ToDateTime(fechdoc.Text);
                            BE.ctacteaccionid = string.Empty;
                            BE.ctacte = ctacte.Text.Trim().ToUpper();
                            BE.ctactename = ctactename.Text.Trim().ToUpper();

                            if (ser_op.Text.Trim().Length > 0 && num_op.Text.Trim().Length > 0)
                            {
                                BE.tip_op = "OP";
                                BE.ser_op = ser_op.Text.Trim().PadLeft(4, '0');
                                BE.num_op = num_op.Text.Trim().PadLeft(10, '0');
                            }

                            BE.codctadebe = string.Empty;
                            BE.codctahaber = string.Empty;
                            BE.glosa = glosa.Text.Trim().ToUpper().ToString();
                            try
                            {
                                BE.fechentrega = Convert.ToDateTime(fechentrega.Text.Trim());
                            }
                            catch
                            {
                                BE.fechentrega = Convert.ToDateTime("01/01/1900");
                            }

                            Detalle.perianio = fechdoc.Value.Year.ToString();
                            Detalle.perimes = fechdoc.Value.Month.ToString().PadLeft(2, '0');
                            Detalle.status = "0";
                            Detalle.usuar = VariablesPublicas.Usuar;

                            var item = 0;
                            foreach (DataRow fila in TabladetallePedido.Rows)
                            {
                                Detalle = new tb_60movimientos.Item();

                                item++;

                                Detalle.fechdoc = Convert.ToDateTime(fechdoc.Text);
                                Detalle.ctacteaccionid = string.Empty;
                                Detalle.ctacte = ctacte.Text.Trim().ToUpper();
                                Detalle.ctactename = ctactename.Text.Trim().ToUpper();
                                if (ser_op.Text.Trim().Length > 0 && num_op.Text.Trim().Length > 0)
                                {
                                    Detalle.tip_op = "OP";
                                    Detalle.ser_op = ser_op.Text.Trim().PadLeft(4, '0');
                                    Detalle.num_op = num_op.Text.Trim().PadLeft(10, '0');
                                }

                                Detalle.itemref = fila["itemref"].ToString();
                                Detalle.itemsdet = item.ToString().PadLeft(5, '0');
                                Detalle.rollo = fila["rollo"].ToString();
                                Detalle.productid = fila["productid"].ToString();
                                Detalle.productname = fila["productname"].ToString();
                                Detalle.Ubicacion = fila["ubicacion"].ToString();

                                Detalle.cantidad = Convert.ToDecimal(fila["cantidad"].ToString());

                                Detalle.valor = Convert.ToDecimal(fila["valor"].ToString());
                                Detalle.importe = Convert.ToDecimal(fila["importe"].ToString());

                                Detalle.precunit = Convert.ToDecimal(fila["precunit"].ToString());
                                Detalle.importfac = Convert.ToDecimal(fila["importfac"].ToString());

                                Detalle.totimpto = Convert.ToDecimal(fila["totimpto"].ToString());

                                Detalle.almacaccionid = fila["almacaccionid"].ToString();
                                Detalle.glosa = glosa.Text.Trim().ToUpper().ToString();
                                Detalle.codctadebe = string.Empty;
                                Detalle.codctahaber = string.Empty;

                                Detalle.perianio = fechdoc.Value.Year.ToString();
                                Detalle.perimes = fechdoc.Value.Month.ToString().PadLeft(2, '0');
                                Detalle.status = "0";
                                Detalle.usuar = VariablesPublicas.Usuar;

                                if (fila["productid"].ToString().Trim().Length == 13 && Convert.ToDecimal(fila["cantidad"]) > 0 && Convert.ToDecimal(fila["importfac"]) > 0)
                                {
                                    ListaItems.Add(Detalle);
                                }
                                else
                                {
                                    MessageBox.Show("Documento DETALLE EN FORMATO INCORRECTO !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return;
                                }
                            }

                            if (ListaItems.Count == 0)
                            {
                                MessageBox.Show("Documento SIN DETALLE Y/O DETALLE INCORRECTO !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return;
                            }
                            BE.ListaItems = ListaItems;
                            if (BL.Insert(EmpresaID, BE))
                            {
                                NIVEL_FORMS();
                                MessageBox.Show("Datos grabados correctamente !!!", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);

                                form_bloqueado(false);
                                tipdoc.Enabled = false;

                                btn_nuevo.Enabled = true;
                                btn_imprimir.Enabled = true;
                                btn_salir.Enabled = true;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }