public bool Delete(string empresaid, tb_me_movimientos BE)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                using (SqlCommand cmd1 = new SqlCommand("gspTbMeMovimientos_DELETE", cnx))
                {
                    cmd1.CommandTimeout = 0;
                    cmd1.CommandType = CommandType.StoredProcedure;
                    cmd1.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                    cmd1.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                    cmd1.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                    cmd1.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                    cmd1.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;
                    cmd1.Parameters.Add("@status", SqlDbType.Char, 1).Value = BE.status;
                    cmd1.Parameters.Add("@usuar", SqlDbType.Char, 15).Value = BE.usuar;

                    try
                    {
                        cnx.Open();
                        if (cmd1.ExecuteNonQuery() > 0)
                        {
                            return true;
                        }
                        else
                        {
                            return false;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }
        private void btn_busqueda_Click(object sender, EventArgs e)
        {
            var BL = new tb_me_movimientosBL();
            var BE = new tb_me_movimientos();

            BE.moduloid = cbo_modulo.SelectedValue.ToString();
            BE.fechdocini = Convert.ToDateTime(fechdocini.Text.Substring(0, 10));
            BE.fechdocfin = Convert.ToDateTime(fechdocfin.Text.Substring(0, 10));
            BE.filtro = "1";

            Tabla = BL.GetReportDetalle(VariablesPublicas.EmpresaID , BE).Tables[0];

            Examinar.DataSource = Tabla;
            Examinar.RefreshDataSource();
        }
        private DataTable Listado_ComprobantesEmitidos()
        {
            var TablaListadoComprobantesEmitidos = new DataTable();
            try
            {
                var BL = new tb_me_movimientosdetBL();
                var BE = new tb_me_movimientos();

                BE.moduloid = moduloid.Trim();
                BE.local = local;
                BE.ctacte = ctacte;
                BE.nmruc = nmruc;
                BE.ctactename = ctactename;
                BE.fechdocini = Convert.ToDateTime(fechaini);
                BE.fechdocfin = Convert.ToDateTime(fechafin);

                TablaListadoComprobantesEmitidos = BL.ListadoComprobantesEmitidos(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (TablaListadoComprobantesEmitidos != null)
                {
                    return TablaListadoComprobantesEmitidos;
                }
                else
                {
                    return TablaListadoComprobantesEmitidos;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private DataTable Movimiento_Rollo2()
        {
            try
            {
                var TablaComercialpedido = new DataTable("Movimientos");

                var BL = new tb_me_movimientosBL();
                var BE = new tb_me_movimientos();

                BE.moduloid = moduloid.Trim();
                BE.local = local.Trim();
                BE.tipodoc = tipdoc.Trim();
                BE.serdoc = serdoc.Trim();
                BE.numdoc = numdoc.Trim();

                TablaComercialpedido = BL.GetReport(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (TablaComercialpedido != null)
                {
                    return TablaComercialpedido;
                }
                else
                {
                    return null;
                }
                return TablaComercialpedido;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        private void Examinar2_MouseClick(object sender, MouseEventArgs e)
        {
            var xlocal = string.Empty;
            var xmoduloid = string.Empty;
            var xnumdoc1 = string.Empty;
            var xnumdoc2 = string.Empty;
            var BL = new tb_me_movimientosBL();
            var BE = new tb_me_movimientos();
            var dt = new DataTable();

            if (gv_examinar.DataRowCount > 0)
            {
                xlocal = gv_examinar.GetFocusedRowCellValue("local").ToString();
                xmoduloid = gv_examinar2.GetFocusedRowCellValue("moduloid").ToString();
                xnumdoc1 = gv_examinar2.GetFocusedRowCellValue("numdoc1").ToString();
                xnumdoc2 = gv_examinar2.GetFocusedRowCellValue("numdoc2").ToString();

                BE.moduloid = xmoduloid.ToString();
                BE.local = xlocal.ToString();
                BE.fechdocini = Convert.ToDateTime(fechdocini.Text.Substring(0, 10));
                BE.fechdocfin = Convert.ToDateTime(fechdocfin.Text.Substring(0, 10));
                BE.xnumdoc1 = xnumdoc1.ToString();
                BE.xnumdoc2 = xnumdoc2.ToString();
                BE.filtro = "3";

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

                Examinar3.DataSource = dt;
                Examinar3.RefreshDataSource();
            }
            else
            {
                Examinar3.DataSource = dt;
                Examinar3.RefreshDataSource();
            }
        }
 public DataSet ListadoComprobantesEmitidos(string empresaid, tb_me_movimientos BE)
 {
     return tablaDA.ListadoComprobantesEmitidos(empresaid, BE);
 }
 public DataSet ListadoComprobantesEmitidos(string empresaid, tb_me_movimientos BE)
 {
     using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
     {
         using (SqlCommand cmd = new SqlCommand("gspTbMeMovimientos_REPORT_ventas", cnx))
         {
             DataSet ds = new DataSet();
             {
                 cmd.CommandType = CommandType.StoredProcedure;
                 cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                 cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                 cmd.Parameters.Add("@ctacte", SqlDbType.VarChar, 7).Value = BE.ctacte;
                 cmd.Parameters.Add("@nmruc", SqlDbType.VarChar, 11).Value = BE.nmruc;
                 cmd.Parameters.Add("@ctactename", SqlDbType.VarChar, 100).Value = BE.ctactename;
                 cmd.Parameters.Add("@fechaini", SqlDbType.DateTime).Value = BE.fechdocini;
                 cmd.Parameters.Add("@fechafin", SqlDbType.DateTime).Value = BE.fechdocfin;
             }
             try
             {
                 cnx.Open();
                 using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                 {
                     da.Fill(ds);
                 }
                 return ds;
             }
             catch (Exception ex)
             {
                 throw new Exception(ex.Message);
             }
         }
     }
 }
        public bool Update(string empresaid, tb_me_movimientos BE)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                using (SqlCommand cmd = new SqlCommand("gspTbMeMovimientos_UPDATE", cnx))
                {
                    cmd.CommandTimeout = 0;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@dominioid", SqlDbType.Char, 2).Value = BE.dominioid;
                    cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                    cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                    cmd.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                    cmd.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                    cmd.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;
                    cmd.Parameters.Add("@status", SqlDbType.Char, 1).Value = BE.status;
                    //cmd.Parameters.Add("@diarioid", SqlDbType.Char, 4).Value = BE.diarioid;
                    //cmd.Parameters.Add("@asiento", SqlDbType.Char, 6).Value = BE.asiento;
                    cmd.Parameters.Add("@almacaccionid", SqlDbType.Char, 2).Value = BE.almacaccionid;
                    cmd.Parameters.Add("@tipoperacionid", SqlDbType.Char, 2).Value = BE.tipoperacionid;
                    cmd.Parameters.Add("@ctacteaccionid", SqlDbType.Char, 2).Value = BE.ctacteaccionid;
                    cmd.Parameters.Add("@fechdoc", SqlDbType.DateTime).Value = fecha(BE.fechdoc);
                    cmd.Parameters.Add("@ctacte", SqlDbType.Char, 7).Value = BE.ctacte;
                    cmd.Parameters.Add("@ctactename", SqlDbType.VarChar, 70).Value = BE.ctactename;
                    cmd.Parameters.Add("@direcnume", SqlDbType.Char, 6).Value = BE.direcnume;
                    cmd.Parameters.Add("@direcname", SqlDbType.VarChar, 25).Value = BE.direcname;
                    cmd.Parameters.Add("@direcdeta", SqlDbType.VarChar, 70).Value = BE.direcdeta;
                    cmd.Parameters.Add("@direc", SqlDbType.VarChar, 70).Value = BE.direc;
                    cmd.Parameters.Add("@tipdid", SqlDbType.Char, 1).Value = BE.tipdid;
                    cmd.Parameters.Add("@nmruc", SqlDbType.Char, 11).Value = BE.nmruc;
                    cmd.Parameters.Add("@tipref", SqlDbType.Char, 2).Value = BE.tipref;
                    cmd.Parameters.Add("@serref", SqlDbType.Char, 4).Value = BE.serref;
                    cmd.Parameters.Add("@numref", SqlDbType.Char, 10).Value = BE.numref;
                    cmd.Parameters.Add("@fechref", SqlDbType.DateTime).Value = fecha(BE.fechref);
                    cmd.Parameters.Add("@tip_op", SqlDbType.Char, 2).Value = BE.tip_op;
                    cmd.Parameters.Add("@ser_op", SqlDbType.Char, 4).Value = BE.ser_op;
                    cmd.Parameters.Add("@num_op", SqlDbType.Char, 10).Value = BE.num_op;
                    cmd.Parameters.Add("@tipfac", SqlDbType.Char, 2).Value = BE.tipfac;
                    cmd.Parameters.Add("@serfac", SqlDbType.Char, 4).Value = BE.serfac;
                    cmd.Parameters.Add("@numfac", SqlDbType.Char, 10).Value = BE.numfac;
                    cmd.Parameters.Add("@fechfac", SqlDbType.DateTime).Value = BE.fechfac;
                    cmd.Parameters.Add("@tipguia", SqlDbType.Char, 2).Value = BE.tipguia;
                    cmd.Parameters.Add("@serguia", SqlDbType.Char, 4).Value = BE.serguia;
                    cmd.Parameters.Add("@numguia", SqlDbType.Char, 10).Value = BE.numguia;
                    cmd.Parameters.Add("@fechguia", SqlDbType.DateTime).Value = BE.fechguia;
                    cmd.Parameters.Add("@tipnotac", SqlDbType.Char, 2).Value = BE.tipnotac;
                    cmd.Parameters.Add("@sernotac", SqlDbType.Char, 4).Value = BE.sernotac;
                    cmd.Parameters.Add("@numnotac", SqlDbType.Char, 10).Value = BE.numnotac;
                    cmd.Parameters.Add("@fechnotac", SqlDbType.DateTime).Value = BE.fechnotac;
                    cmd.Parameters.Add("@vendorid", SqlDbType.Char, 4).Value = BE.vendorid;
                    cmd.Parameters.Add("@ubige", SqlDbType.Char, 6).Value = BE.ubige;
                    cmd.Parameters.Add("@cencosid", SqlDbType.Char, 5).Value = BE.cencosid;
                    cmd.Parameters.Add("@dscto3", SqlDbType.Decimal).Value = BE.dscto3;
                    cmd.Parameters.Add("@totdscto1", SqlDbType.Decimal).Value = BE.totdscto1;
                    cmd.Parameters.Add("@totdscto2", SqlDbType.Decimal).Value = BE.totdscto2;
                    cmd.Parameters.Add("@totdscto3", SqlDbType.Decimal).Value = BE.totdscto3;
                    cmd.Parameters.Add("@condpago", SqlDbType.Char, 4).Value = BE.condpago;
                    cmd.Parameters.Add("@transporte", SqlDbType.Decimal).Value = BE.transporte;
                    cmd.Parameters.Add("@embalaje", SqlDbType.Decimal).Value = BE.embalaje;
                    cmd.Parameters.Add("@otros", SqlDbType.Decimal).Value = BE.otros;
                    cmd.Parameters.Add("@tipimptoid", SqlDbType.Char, 1).Value = BE.tipimptoid;
                    cmd.Parameters.Add("@igv", SqlDbType.Decimal).Value = BE.igv;
                    cmd.Parameters.Add("@incprec", SqlDbType.Char, 1).Value = BE.incprec;
                    cmd.Parameters.Add("@tipoperimptoid", SqlDbType.Char, 1).Value = BE.tipoperimptoid;
                    cmd.Parameters.Add("@totimpto", SqlDbType.Decimal).Value = BE.totimpto;
                    cmd.Parameters.Add("@valventa", SqlDbType.Decimal).Value = BE.valventa;
                    cmd.Parameters.Add("@totimporte", SqlDbType.Decimal).Value = BE.totimporte;
                    cmd.Parameters.Add("@bruto", SqlDbType.Decimal).Value = BE.bruto;
                    cmd.Parameters.Add("@cargo", SqlDbType.Decimal).Value = BE.cargo;
                    cmd.Parameters.Add("@abono", SqlDbType.Decimal).Value = BE.abono;
                    cmd.Parameters.Add("@tcamb", SqlDbType.Decimal).Value = BE.tcamb;
                    cmd.Parameters.Add("@codctadebe", SqlDbType.Char, 10).Value = BE.codctadebe;
                    cmd.Parameters.Add("@codctahaber", SqlDbType.Char, 10).Value = BE.codctahaber;
                    cmd.Parameters.Add("@glosa", SqlDbType.VarChar, 300).Value = BE.glosa;
                    cmd.Parameters.Add("@totpzas", SqlDbType.Decimal).Value = BE.totpzas;
                    cmd.Parameters.Add("@fechentrega", SqlDbType.DateTime).Value = fecha(BE.fechentrega);
                    cmd.Parameters.Add("@fechpago", SqlDbType.DateTime).Value = fecha(BE.fechpago);
                    cmd.Parameters.Add("@fechcancel", SqlDbType.DateTime).Value = fecha(BE.fechcancel);
                    cmd.Parameters.Add("@moneda", SqlDbType.Char).Value = BE.moneda;
                    cmd.Parameters.Add("@statborrado", SqlDbType.Char, 1).Value = BE.statborrado;
                    cmd.Parameters.Add("@transpid", SqlDbType.Char, 5).Value = BE.transpid;
                    cmd.Parameters.Add("@transpname", SqlDbType.VarChar, 40).Value = BE.transpname;
                    cmd.Parameters.Add("@motivotrasladoid", SqlDbType.Char, 2).Value = BE.motivotrasladoid;
                    cmd.Parameters.Add("@mottrasladointid", SqlDbType.Char, 2).Value = BE.mottrasladointid;
                    cmd.Parameters.Add("@modofactu", SqlDbType.Char, 1).Value = BE.modofactu;
                    cmd.Parameters.Add("@clientetipo", SqlDbType.Char, 1).Value = BE.clientetipo;
                    cmd.Parameters.Add("@ddnni", SqlDbType.Char, 8).Value = BE.ddnni;
                    cmd.Parameters.Add("@items", SqlDbType.Decimal).Value = BE.items;
                    cmd.Parameters.Add("@perianio", SqlDbType.Char, 4).Value = BE.perianio;
                    cmd.Parameters.Add("@perimes", SqlDbType.Char, 2).Value = BE.perimes;
                    cmd.Parameters.Add("@usuar", SqlDbType.Char, 15).Value = BE.usuar;
                    cmd.Parameters.Add("@perdni", SqlDbType.Char, 8).Value = BE.perdni;

                    /****************************** Detalle Agregado Ultimo *******************************/
                    //cmd.Parameters.Add("@listaprecid", SqlDbType.Int).Value = BE.Listaprecid;
                    //cmd.Parameters.Add("@totcosto", SqlDbType.Decimal).Value = BE.Totcosto;
                    //cmd.Parameters.Add("@bruto1", SqlDbType.Decimal).Value = BE.Bruto1;
                    //cmd.Parameters.Add("@dsctopropio1", SqlDbType.Decimal).Value = BE.Dsctopropio1;
                    //cmd.Parameters.Add("@dsctoconvenio1", SqlDbType.Decimal).Value = BE.Dsctoconvenio1;
                    //cmd.Parameters.Add("@dsctototal1", SqlDbType.Decimal).Value = BE.Dsctototal1;
                    //cmd.Parameters.Add("@baseimpo1", SqlDbType.Decimal).Value = BE.Baseimpo1;
                    //cmd.Parameters.Add("@montoigv1", SqlDbType.Decimal).Value = BE.Montoigv1;
                    //cmd.Parameters.Add("@precioventa1", SqlDbType.Decimal).Value = BE.Precioventa1;
                    //cmd.Parameters.Add("@tarjbonus", SqlDbType.Char, 13).Value = BE.Tarjbonus;
                    cmd.Parameters.Add("@tarjetaid", SqlDbType.Int).Value = BE.Tarjetaid;
                    //cmd.Parameters.Add("@tarjgrupoid", SqlDbType.Int).Value = BE.Tarjgrupoid;
                    cmd.Parameters.Add("@tarjnumoper", SqlDbType.Char, 10).Value = BE.Tarjnumoper;
                    cmd.Parameters.Add("@tarjimporte1", SqlDbType.Decimal).Value = BE.Tarjimporte1;
                    cmd.Parameters.Add("@tarjimporte2", SqlDbType.Decimal).Value = BE.Tarjimporte2;
                    //cmd.Parameters.Add("@cajanume", SqlDbType.Char, 2).Value = BE.Cajanume;
                    cmd.Parameters.Add("@efectivo", SqlDbType.Decimal).Value = BE.Efectivo;
                    /***************************************************************************************/

                    //opt
                    // Venta en Combo
                    cmd.Parameters.Add("@princombo", SqlDbType.Bit).Value = BE.princombo;
                    cmd.Parameters.Add("@cantcombo", SqlDbType.Int).Value = BE.cantcombo;
                    cmd.Parameters.Add("@preccombo", SqlDbType.Decimal).Value = BE.preccombo;
                    // Si es NC
                    cmd.Parameters.Add("@recep_name", SqlDbType.VarChar, 50).Value = BE.recep_name;
                    cmd.Parameters.Add("@recep_dni", SqlDbType.Char, 8).Value = BE.recep_dni;
                    cmd.Parameters.Add("@recep_fecha", SqlDbType.DateTime).Value = BE.recep_fecha;
                    //
                    cmd.Parameters.Add("@XMLnew", SqlDbType.Xml).Value = BE.GetItemXML();
                    cmd.Parameters.Add("@XMLold", SqlDbType.Xml).Value = BE.GetItemXML2();
                    if (BE.tipodoc == "BV" || BE.tipodoc == "FA")
                    { cmd.Parameters.Add("@XMLT", SqlDbType.Xml).Value = BE.TarjetasXML(); }

                    try
                    {
                        cnx.Open();
                        if (cmd.ExecuteNonQuery() > 0)
                        {
                            return true;
                        }
                        else
                        {
                            return false;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }
        public bool Insert_old(string empresaid, tb_me_movimientos BE)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                SqlTransaction tr = default(SqlTransaction);
                Boolean TransaExito = false;

                using (SqlCommand cmd = new SqlCommand("gspTbMeMovimientoscab_INSERT", cnx))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@dominioid", SqlDbType.Char, 2).Value = BE.dominioid;
                    cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                    cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                    cmd.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                    cmd.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                    cmd.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;
                    cmd.Parameters.Add("@status", SqlDbType.Char, 1).Value = BE.status;
                    cmd.Parameters.Add("@diarioid", SqlDbType.Char, 4).Value = BE.diarioid;
                    cmd.Parameters.Add("@asiento", SqlDbType.Char, 6).Value = BE.asiento;
                    cmd.Parameters.Add("@almacaccionid", SqlDbType.Char, 2).Value = BE.almacaccionid;
                    cmd.Parameters.Add("@tipoperacionid", SqlDbType.Char, 2).Value = BE.tipoperacionid;
                    cmd.Parameters.Add("@ctacteaccionid", SqlDbType.Char, 2).Value = BE.ctacteaccionid;
                    cmd.Parameters.Add("@fechdoc", SqlDbType.DateTime).Value = BE.fechdoc;
                    cmd.Parameters.Add("@ctacte", SqlDbType.Char, 7).Value = BE.ctacte;
                    cmd.Parameters.Add("@ctactename", SqlDbType.VarChar, 70).Value = BE.ctactename;
                    cmd.Parameters.Add("@direcnume", SqlDbType.Char, 6).Value = BE.direcnume;
                    cmd.Parameters.Add("@direcname", SqlDbType.VarChar, 25).Value = BE.direcname;
                    cmd.Parameters.Add("@direcdeta", SqlDbType.VarChar, 70).Value = BE.direcdeta;
                    cmd.Parameters.Add("@direc", SqlDbType.VarChar, 70).Value = BE.direc;
                    cmd.Parameters.Add("@tipdid", SqlDbType.Char, 1).Value = BE.tipdid;
                    cmd.Parameters.Add("@nmruc", SqlDbType.Char, 11).Value = BE.nmruc;
                    cmd.Parameters.Add("@tipref", SqlDbType.Char, 2).Value = BE.tipref;
                    cmd.Parameters.Add("@serref", SqlDbType.Char, 4).Value = BE.serref;
                    cmd.Parameters.Add("@numref", SqlDbType.Char, 10).Value = BE.numref;
                    cmd.Parameters.Add("@fechref", SqlDbType.DateTime).Value = BE.fechref;
                    cmd.Parameters.Add("@tip_op", SqlDbType.Char, 2).Value = BE.tip_op;
                    cmd.Parameters.Add("@ser_op", SqlDbType.Char, 4).Value = BE.ser_op;
                    cmd.Parameters.Add("@num_op", SqlDbType.Char, 10).Value = BE.num_op;
                    cmd.Parameters.Add("@tipfac", SqlDbType.Char, 2).Value = BE.tipfac;
                    cmd.Parameters.Add("@serfac", SqlDbType.Char, 4).Value = BE.serfac;
                    cmd.Parameters.Add("@numfac", SqlDbType.Char, 10).Value = BE.numfac;
                    cmd.Parameters.Add("@fechfac", SqlDbType.DateTime).Value = BE.fechfac;
                    cmd.Parameters.Add("@tipguia", SqlDbType.Char, 2).Value = BE.tipguia;
                    cmd.Parameters.Add("@serguia", SqlDbType.Char, 4).Value = BE.serguia;
                    cmd.Parameters.Add("@numguia", SqlDbType.Char, 10).Value = BE.numguia;
                    cmd.Parameters.Add("@fechguia", SqlDbType.DateTime).Value = BE.fechguia;
                    cmd.Parameters.Add("@tipnotac", SqlDbType.Char, 2).Value = BE.tipnotac;
                    cmd.Parameters.Add("@sernotac", SqlDbType.Char, 4).Value = BE.sernotac;
                    cmd.Parameters.Add("@numnotac", SqlDbType.Char, 10).Value = BE.numnotac;
                    cmd.Parameters.Add("@fechnotac", SqlDbType.DateTime).Value = BE.fechnotac;
                    cmd.Parameters.Add("@vendorid", SqlDbType.Char, 4).Value = BE.vendorid;
                    cmd.Parameters.Add("@ubige", SqlDbType.Char, 6).Value = BE.ubige;
                    cmd.Parameters.Add("@cencosid", SqlDbType.Char, 5).Value = BE.cencosid;
                    cmd.Parameters.Add("@dscto3", SqlDbType.Decimal).Value = BE.dscto3;
                    cmd.Parameters.Add("@totdscto1", SqlDbType.Decimal).Value = BE.totdscto1;
                    cmd.Parameters.Add("@totdscto2", SqlDbType.Decimal).Value = BE.totdscto2;
                    cmd.Parameters.Add("@totdscto3", SqlDbType.Decimal).Value = BE.totdscto3;
                    cmd.Parameters.Add("@condpago", SqlDbType.Char, 4).Value = BE.condpago;
                    cmd.Parameters.Add("@transporte", SqlDbType.Decimal).Value = BE.transporte;
                    cmd.Parameters.Add("@embalaje", SqlDbType.Decimal).Value = BE.embalaje;
                    cmd.Parameters.Add("@otros", SqlDbType.Decimal).Value = BE.otros;
                    cmd.Parameters.Add("@tipimptoid", SqlDbType.Char, 1).Value = BE.tipimptoid;
                    cmd.Parameters.Add("@igv", SqlDbType.Decimal).Value = BE.igv;
                    cmd.Parameters.Add("@incprec", SqlDbType.Char, 1).Value = BE.incprec;
                    cmd.Parameters.Add("@tipoperimptoid", SqlDbType.Char, 1).Value = BE.tipoperimptoid;
                    cmd.Parameters.Add("@totimpto", SqlDbType.Decimal).Value = BE.totimpto;
                    cmd.Parameters.Add("@valventa", SqlDbType.Decimal).Value = BE.valventa;
                    cmd.Parameters.Add("@totimporte", SqlDbType.Decimal).Value = BE.totimporte;
                    cmd.Parameters.Add("@bruto", SqlDbType.Decimal).Value = BE.bruto;
                    cmd.Parameters.Add("@cargo", SqlDbType.Decimal).Value = BE.cargo;
                    cmd.Parameters.Add("@abono", SqlDbType.Decimal).Value = BE.abono;
                    cmd.Parameters.Add("@tcamb", SqlDbType.Decimal).Value = BE.tcamb;
                    cmd.Parameters.Add("@codctadebe", SqlDbType.Char, 10).Value = BE.codctadebe;
                    cmd.Parameters.Add("@codctahaber", SqlDbType.Char, 10).Value = BE.codctahaber;
                    cmd.Parameters.Add("@glosa", SqlDbType.VarChar, 300).Value = BE.glosa;
                    cmd.Parameters.Add("@totpzas", SqlDbType.Decimal).Value = BE.totpzas;
                    cmd.Parameters.Add("@fechentrega", SqlDbType.DateTime).Value = BE.fechentrega;
                    cmd.Parameters.Add("@fechpago", SqlDbType.DateTime).Value = BE.fechpago;
                    cmd.Parameters.Add("@fechcancel", SqlDbType.DateTime).Value = BE.fechcancel;
                    cmd.Parameters.Add("@moneda", SqlDbType.Char).Value = BE.moneda;
                    cmd.Parameters.Add("@statborrado", SqlDbType.Char, 1).Value = BE.statborrado;
                    cmd.Parameters.Add("@transpid", SqlDbType.Char, 5).Value = BE.transpid;
                    cmd.Parameters.Add("@transpname", SqlDbType.VarChar, 40).Value = BE.transpname;
                    cmd.Parameters.Add("@motivotrasladoid", SqlDbType.Char, 2).Value = BE.motivotrasladoid;
                    cmd.Parameters.Add("@mottrasladointid", SqlDbType.Char, 2).Value = BE.mottrasladointid;
                    cmd.Parameters.Add("@modofactu", SqlDbType.Char, 1).Value = BE.modofactu;
                    cmd.Parameters.Add("@clientetipo", SqlDbType.Char, 1).Value = BE.clientetipo;
                    cmd.Parameters.Add("@ddnni", SqlDbType.Char, 8).Value = BE.ddnni;
                    cmd.Parameters.Add("@items", SqlDbType.Decimal).Value = BE.items;
                    cmd.Parameters.Add("@perianio", SqlDbType.Char, 4).Value = BE.perianio;
                    cmd.Parameters.Add("@perimes", SqlDbType.Char, 2).Value = BE.perimes;
                    cmd.Parameters.Add("@usuar", SqlDbType.Char, 15).Value = BE.usuar;
                    cmd.Parameters.Add("@perdni", SqlDbType.Char, 8).Value = BE.perdni;
                    cmd.Parameters.Add("@recep_name", SqlDbType.VarChar, 50).Value = BE.recep_name;
                    cmd.Parameters.Add("@recep_dni", SqlDbType.Char, 8).Value = BE.recep_dni;
                    cmd.Parameters.Add("@recep_fecha", SqlDbType.DateTime).Value = BE.recep_fecha;
                    cmd.Parameters.Add("@usuar", SqlDbType.Char, 15).Value = BE.usuar;

                    //opt
                    cmd.Parameters.Add("@tipodocmanejaserie", SqlDbType.Bit).Value = BE.tipodocmanejaserie;

                    using (SqlCommand cmd2 = new SqlCommand("gspTbMeMovimientosdet_INSERT_xml", cnx))
                    {
                        cmd2.CommandType = CommandType.StoredProcedure;
                        cmd2.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                        cmd2.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                        cmd2.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                        cmd2.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                        cmd2.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;
                        cmd2.Parameters.Add("@XML", SqlDbType.Xml).Value = BE.GetItemXML();

                        try
                        {
                            cnx.Open();
                            tr = cnx.BeginTransaction(IsolationLevel.Serializable);
                            cmd.Transaction = tr;

                            if (cmd.ExecuteNonQuery() > 0)
                            {
                                cmd2.Transaction = tr;

                                if (cmd2.ExecuteNonQuery() > 0)
                                {
                                    TransaExito = true;
                                }
                            }

                            if (TransaExito == true)
                            {
                                tr.Commit();
                                return true;
                            }
                            else
                            {
                                tr.Rollback();
                                return false;
                            }

                        }
                        catch (Exception ex)
                        {
                            tr.Rollback();
                            throw new Exception(ex.Message);
                        }
                    }
                }
            }
        }
 public DataSet GetReportDetalle(string empresaid, tb_me_movimientos BE)
 {
     using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
     {
         using (SqlCommand cmd = new SqlCommand("gspTbMeMovimientos_SEARCH_DetalleVentas", cnx))
         {
             DataSet ds = new DataSet();
             {
                 cmd.CommandType = CommandType.StoredProcedure;
                 cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                 cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                 //cmd.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                 //cmd.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                 //cmd.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;
                 cmd.Parameters.Add("@fechdocini", SqlDbType.DateTime).Value = BE.fechdocini;
                 cmd.Parameters.Add("@fechdocfin", SqlDbType.DateTime).Value = BE.fechdocfin;
                 cmd.Parameters.Add("@numdocini", SqlDbType.Char, 10).Value = BE.xnumdoc1;
                 cmd.Parameters.Add("@numdocfin", SqlDbType.Char, 10).Value = BE.xnumdoc2;
                 cmd.Parameters.Add("@filtro", SqlDbType.Char, 1).Value = BE.filtro;
             }
             try
             {
                 cnx.Open();
                 using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                 {
                     da.Fill(ds);
                 }
                 return ds;
             }
             catch (Exception ex)
             {
                 throw new Exception(ex.Message);
             }
         }
     }
 }
 public DataSet GetReport(string empresaid, tb_me_movimientos BE)
 {
     using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
     {
         using (SqlCommand cmd = new SqlCommand("gspTbMeMovimientos_PRINTDOC", cnx))
         {
             DataSet ds = new DataSet();
             {
                 cmd.CommandType = CommandType.StoredProcedure;
                 cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                 cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                 cmd.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                 cmd.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                 cmd.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;
                 cmd.Parameters.Add("@convalor", SqlDbType.Char, 1).Value = BE.Convalor;
             }
             try
             {
                 cnx.Open();
                 using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                 {
                     da.Fill(ds);
                 }
                 return ds;
             }
             catch (Exception ex)
             {
                 throw new Exception(ex.Message);
             }
         }
     }
 }
        private void Update()
        {
            _cal_Igv();

            try
            {
                if (cabecera_valida())
                {

                    // Variables de Cabecera
                    tb_me_movimientosBL BL = new tb_me_movimientosBL();
                    tb_me_movimientos BE = new tb_me_movimientos();

                    // Variables para Detalle
                    tb_me_movimientos.Item Detalle = new tb_me_movimientos.Item();
                    List<tb_me_movimientos.Item> ListaItems = new List<tb_me_movimientos.Item>();

                    #region **ingreso movimiento cabecera***
                    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());

                    //accion del alamacen dependiendo del tipo de documento
                    if (tipfac.Text.Trim().Length > 0 && serfac.Text.Trim().Length > 0 && numfac.Text.Trim().Length > 0)
                    {
                        if (almacaccionid.Substring(0, 1) == "2")
                        {
                            almacaccionid = "21";
                        }
                        BE.almacaccionid = almacaccionid.ToString();
                    }
                    else { BE.almacaccionid = almacaccionid.Trim(); }

                    BE.tipoperacionid = tipoperacionid.SelectedValue.ToString();
                    //datos proveedor y/o cliente
                    BE.ctacteaccionid = "";
                    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();
                    //datos documento de referencia
                    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 = "";
                            BE.serref = "";
                            BE.numref = "";
                            try { BE.fechref = Convert.ToDateTime(fechref.Text.Trim()); }
                            catch { BE.fechref = Convert.ToDateTime("01/01/1900"); }
                        }
                    }
                    //orden de produccion
                    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');
                    }
                    //datos ducumento factura
                    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"); }
                    }
                    //datos ducumento guia
                    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"); }
                    }
                    //datos ducumento nota de credito
                    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"); }
                    }
                    //datos empleado vendedor
                    //if (vendperid.Text.Trim().Length > 0) { BE.vendorid = vendperid.Text.Trim().ToString(); };
                    if (vendperid.Text.Trim().Length > 0) { BE.perdni = vendperid.Text.Trim().ToString(); };  // modificado
                    //datos ubigeo
                    BE.ubige = "000000";
                    //datos centro de costo
                    BE.cencosid = cencosid.Text.Trim().ToString();
                    //datos condicion de pago
                    //BE.condpago = condventa.SelectedValue.Trim().ToString();
                    //datos gastos varios
                    try { BE.totdscto1 = Convert.ToDecimal(totdscto1.Text.Trim()); }
                    catch { BE.totdscto1 = Convert.ToDecimal(0); }
                    //try { BE.transporte = Convert.ToDecimal(transporte.Text.Trim()); }
                    //catch { BE.transporte = Convert.ToDecimal(0); }
                    //try { BE.embalaje = Convert.ToDecimal(embalaje.Text.Trim()); }
                    //catch { BE.embalaje = Convert.ToDecimal(0); }
                    //try { BE.otros = Convert.ToDecimal(otros.Text.Trim()); }
                    //catch { BE.otros = Convert.ToDecimal(0); }
                    //tipo de impuesto
                    BE.tipimptoid = tipimptotasa.SelectedValue.ToString().Trim();
                    //datos incluido IGV
                    BE.incprec = incprec.Trim();
                    //datos tipo periodo impuesto
                    //BE.tipoperimptoid = "";
                    //datos totales calculados
                    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());
                    //datos cuenta haber y debe
                    BE.codctadebe = "";
                    BE.codctahaber = "";
                    //datos glosa
                    BE.glosa = glosa.Text.Trim().ToUpper().ToString();
                    //fechas de movimiento del documento
                    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"); }
                    //datos transporte
                    BE.transpid = transpid.Text.Trim().ToString();
                    if (motivotrasladoid.SelectedValue != null)
                        BE.motivotrasladoid = motivotrasladoid.SelectedValue.ToString();
                    if (mottrasladointid.SelectedValue != null)
                        BE.mottrasladointid = mottrasladointid.SelectedValue.ToString();
                    //datos cliente y/o empleado
                    BE.ddnni = ddnni.Text.Trim();
                    //otros
                    BE.tipdid = "";
                    BE.statborrado = "";
                    BE.clientetipo = "";
                    BE.modofactu = "";
                    //opt
                    BE.tipodocmanejaserie = tipodocmanejaserie;

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

                    #endregion

                    #region ****ingreso movimiento detalle***
                    int item = 0;

                    foreach (DataRow fila in Tabladetallemov.Rows)
                    {
                        Detalle = new tb_me_movimientos.Item();

                        item++;

                        //datos documento cabecera importante [todos]
                        Detalle.fechdoc = Convert.ToDateTime(fechdoc.Text);
                        Detalle.moneda = moneda.SelectedValue.ToString().Trim();
                        Detalle.tcamb = Convert.ToDecimal(tcamb.Text.Trim());
                        //accion del alamacen dependiendo del tipo de documento
                        Detalle.tipoperacionid = tipoperacionid.SelectedValue.ToString();
                        //datos proveedor y/o cliente
                        Detalle.ctacteaccionid = "";
                        Detalle.ctacte = ctacte.Text.Trim().ToUpper();
                        Detalle.ctactename = ctactename.Text.Trim().ToUpper();
                        Detalle.direcnume = direcnume.Trim().ToUpper();
                        Detalle.direcname = direcname.Text.Trim().ToUpper();
                        //datos documento de referencia
                        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"); }
                        }
                        //orden de produccion
                        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');
                        }
                        //datos ducumento factura
                        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"); }
                        }
                        //datos ducumento guia
                        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"); }
                        }
                        //datos ducumento nota de credito
                        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"); }
                        }
                        //centro de costo
                        Detalle.cencosid = cencosid.Text.Trim();
                        //empleado vendedor
                        if (vendperid.Text.Trim().Length > 0)
                        {
                            BE.vendorid = vendperid.Text.Trim().ToString();
                        };
                        //datos calculados de detalle de movimiento obtenidos de memoria
                        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();

                        //Decimal cantidad = Convert.ToDecimal(fila["cantidad"].ToString());
                        //Decimal cantidadcta = Convert.ToDecimal(fila["cantidadcta"].ToString());

                        Detalle.cantidad = Convert.ToDecimal(fila["cantidad"].ToString());
                        Detalle.valor = Convert.ToDecimal(fila["valor"].ToString());
                        Detalle.importe = Convert.ToDecimal(fila["importe"].ToString());
                        if (tipoperacionid.SelectedValue.ToString() == "02")
                        {
                            if (moneda.SelectedValue.ToString() == "$")
                            {
                                Detalle.valor = Convert.ToDecimal(fila["precunit"].ToString()) * Convert.ToDecimal(tcamb.Text);
                            }
                            else
                            {
                                Detalle.valor = Convert.ToDecimal(fila["precunit"].ToString());
                            }

                            Detalle.importe = Detalle.cantidad * Detalle.valor;
                        }

                        Detalle.precunit = Convert.ToDecimal(fila["precunit"].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();

                        //accion del alamacen dependiendo del tipo de documento
                        Detalle.almacaccionid = almacaccionid;//fila["almacaccionid"].ToString();
                        //motivo del traslado
                        if (motivotrasladoid.SelectedValue != null)
                            Detalle.motivotrasladoid = motivotrasladoid.SelectedValue.ToString();
                        if (mottrasladointid.SelectedValue != null)
                            Detalle.mottrasladointid = mottrasladointid.SelectedValue.ToString();
                        //datos de costo promedio
                        Detalle.statcostopromed = statcostopromed.Trim();
                        //datos de tipo de trasaccion
                        Detalle.tiptransac = tiptransac.Trim();
                        //datos si es incluido IGV
                        Detalle.incprec = incprec.Trim();
                        Detalle.igv = igv;
                        //glosa - observacion
                        Detalle.glosa = glosa.Text.Trim().ToUpper().ToString();
                        //dato cuenta haber y debe
                        Detalle.codctadebe = "";
                        Detalle.codctahaber = "";

                        //Datos del Usuario
                        //Detalle.perianio = fechdoc.Value.Year.ToString();
                        //Detalle.perimes = fechdoc.Value.Month.ToString();
                        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")
                        {
                            String prod = fila["productid"].ToString();
                            String can = fila["cantidad"].ToString();
                            String impo = 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;
                    }

                    // Verificacion de Fechas

                    //if (Detalle.perianio.ToString() != VariablesPublicas.perianio.ToString()
                    //    || Detalle.perimes.ToString() != VariablesPublicas.perimes.ToString())
                    //    {
                    //        MessageBox.Show("Verifique Fecha Modificacion !!!", "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);
                        //limpiar_documento();
                        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;
                    }
                    #endregion
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void Delete()
        {
            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 (numdoc.Text.Trim().Length == 10)
                    {

                        // Variables de Cabecera
                        tb_me_movimientosBL BL = new tb_me_movimientosBL();
                        tb_me_movimientos BE = new tb_me_movimientos();

                        // Variables para Detalle
                        tb_me_movimientos.Item Detalle = new tb_me_movimientos.Item();
                        List<tb_me_movimientos.Item> ListaItems = new List<tb_me_movimientos.Item>();

                        #region *** movimiento ***
                        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.status = "9";
                        BE.usuar = VariablesPublicas.Usuar;
                        BE.numref = numdococ1.Text.Trim() + numdococ.Text.Trim();

                        if (BL.Delete(EmpresaID, BE))
                        {
                            SEGURIDAD_LOG("E");
                            NIVEL_FORMS();
                            MessageBox.Show("Datos eliminados correctamente !!!", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            limpiar_documento();
                            form_bloqueado(false);
                            tipodoc.Enabled = false;
                            numdoc.Enabled = false;

                            btn_nuevo.Enabled = true;

                            btn_primero.Enabled = true;
                            btn_anterior.Enabled = true;
                            btn_siguiente.Enabled = true;
                            btn_ultimo.Enabled = true;

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