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_rollokardex()
        {
            try
            {
                var TablaRollokardex = new DataTable("Rollokardex");

                var BL = new tb_me_movimientosdetBL();
                var BE = new tb_me_movimientosdet();

                BE.moduloid = VariablesPublicas.Moduloid.Trim();
                BE.local = VariablesPublicas.Local.Trim();
                BE.lineaid = lineaid;
                BE.grupoid = grupoid;
                BE.subgrupoid = subgrupoid;
                BE.productid = productid;
                BE.colorid = colorid;
                BE.rollo = rollo;

                BE.fechdocini = Convert.ToDateTime(fechdocini.Trim().Substring(0, 10));
                BE.fechdocfin = Convert.ToDateTime(fechdocfin.Trim().Substring(0, 10));

                if (almacaccionid.Trim().Length > 0)
                {
                    BE.almacaccionid = almacaccionid;
                }
                TablaRollokardex = BL.GetAll_rollokardex(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (TablaRollokardex != null)
                {
                    return TablaRollokardex;
                }
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        private DataTable Listado_ComprasxModelo()
        {
            var TablaListadoComprasxModelo = new DataTable("TablaListadoComprasxModelo");
            try
            {
                var BL = new tb_me_movimientosdetBL();
                var BE = new tb_me_movimientosdet();

                BE.moduloid = moduloid.Trim();
                BE.lineaid = lineaid;
                BE.grupoid = grupoid;
                BE.subgrupoid = subgrupoid;
                BE.fechdocini = Convert.ToDateTime(fechdocini);
                BE.fechdocfin = Convert.ToDateTime(fechdocfin);

                TablaListadoComprasxModelo = BL.ListadoComprasxModelo(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (TablaListadoComprasxModelo != null)
                {
                    return TablaListadoComprasxModelo;
                }
                else
                {
                    return TablaListadoComprasxModelo;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private DataTable Movimiento_mov_ordprod()
        {
            var TablaMov_ordprod = new DataTable("Productostock");
            try
            {
                var BL = new tb_me_movimientosdetBL();
                var BE = new tb_me_movimientosdet();

                BE.moduloid = moduloid.Trim();
                BE.local = local.Trim();

                BE.fechdocini = Convert.ToDateTime(fechdocini.Trim().Substring(0, 10));
                BE.fechdocfin = Convert.ToDateTime(fechdocfin.Trim().Substring(0, 10));
                if (serop_ini.Trim().Length > 0)
                {
                    BE.ser_opi = serop_ini.Trim().PadLeft(4, '0');
                }
                if (numop_ini.Trim().Length > 0)
                {
                    BE.num_opi = numop_ini.Trim().PadLeft(10, '0');
                }
                if (serop_fin.Trim().Length > 0)
                {
                    BE.ser_opf = serop_fin.Trim().PadLeft(4, '0');
                }
                if (numop_fin.Trim().Length > 0)
                {
                    BE.num_opf = numop_fin.Trim().PadLeft(10, '0');
                }
                if (almacaccionid.Trim().Length > 0)
                {
                    BE.almacaccionid = almacaccionid;
                }
                TablaMov_ordprod = BL.GetAll_ConsumoxOP(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (TablaMov_ordprod != null)
                {
                    return TablaMov_ordprod;
                }
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        private DataTable Movimiento_productokardex_tela()
        {
            var TablaProductokardex_tela = new DataTable("Productokardex_tela");
            try
            {
                var BL = new tb_me_movimientosdetBL();
                var BE = new tb_me_movimientosdet();

                BE.moduloid = moduloid.Trim();
                BE.local = local.Trim();
                BE.lineaid = lineaid;
                BE.grupoid = grupoid;
                BE.subgrupoid = subgrupoid;
                BE.productid = productid;
                BE.colorid = colorid;
                BE.rollo = rollo;
                BE.mottrasladointid = mottrasladointid;
                BE.Ubicacion = Produbic;
                BE.ctacte = ctacte;
                BE.direcnume = direcnume;
                BE.fechdocini = Convert.ToDateTime(fechdocini.Trim().Substring(0, 10));
                BE.fechdocfin = Convert.ToDateTime(fechdocfin.Trim().Substring(0, 10));
                if (almacaccionid.Trim().Length > 0)
                {
                    BE.almacaccionid = almacaccionid;
                }
                TablaProductokardex_tela = BL.GetAll_productokardex(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (TablaProductokardex_tela != null)
                {
                    return TablaProductokardex_tela;
                }
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        private DataTable Movimiento_mov_balancestock()
        {
            var TablaMov_balancestock = new DataTable("mov_balancestock");
            try
            {
                var BL = new tb_me_movimientosdetBL();
                var BE = new tb_me_movimientosdet();

                BE.moduloid = VariablesPublicas.Moduloid.Trim();
                BE.local = VariablesPublicas.Local.Trim();
                BE.perianio = VariablesPublicas.perianio.Trim();
                BE.perimesini = VariablesPublicas.Perimesini.Trim();
                BE.perimesfin = VariablesPublicas.Perimesfin.Trim();
                BE.lineaid = lineaid.Trim();
                BE.grupoid = grupoid.Trim();
                BE.subgrupoid = subgrupoid.Trim();
                BE.productidini = productidini.Trim();
                BE.productidfin = productidfin.Trim();

                if (accion)
                {
                    BE.accion = "0";
                }
                else
                {
                    BE.accion = "1";
                }

                TablaMov_balancestock = BL.GetAll_Balance(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];

                if (TablaMov_balancestock != null)
                {
                    return TablaMov_balancestock;
                }
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        private DataTable Movimiento_mov_docsemitido()
        {
            var TablaMov_docsemitido = new DataTable("Mov_docsemitido");
            try
            {
                var BL = new tb_me_movimientosdetBL();
                var BE = new tb_me_movimientosdet();

                BE.moduloid = moduloid.Trim();
                BE.local = local.Trim();
                if (tipdoc != null && tipdoc.Trim().Length > 0)
                {
                    BE.tipodoc = tipdoc.Trim();
                }
                BE.mottrasladointid = mottrasladointid.Trim();
                BE.ctacte = ctacte.Trim();
                BE.fechdocini = Convert.ToDateTime(fechdocini.Trim().Substring(0, 10));
                BE.fechdocfin = Convert.ToDateTime(fechdocfin.Trim().Substring(0, 10));
                BE.modcalculo = modcalculo;
                BE.accion = almacaccionid.Trim();

                TablaMov_docsemitido = BL.GetAll_Docsemitidos(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (TablaMov_docsemitido != null)
                {
                    return TablaMov_docsemitido;
                }
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        private void ImpresionKardexArticulo()
        {
            var TablaProductokardex_tela = new DataTable();
            var BL = new tb_me_movimientosdetBL();
            var BE = new tb_me_movimientosdet();

            BE.moduloid = modulo;
            BE.local = local;
            BE.lineaid = lineaid.Text.Trim();
            BE.grupoid = grupoid.Text.Trim();
            BE.subgrupoid = subgrupoid.Text.Trim();
            BE.productid = productid.Text.Trim();
            BE.colorid = colorid.Text.Trim();
            BE.mottrasladointid = mottrasladointid.Text.Trim();
            BE.Ubicacion = produbic.Text.Trim();
            BE.ctacte = ctacte.Text.Trim();
            BE.direcnume = direcnume.ToString();
            BE.fechdocini = Convert.ToDateTime(fechdocini.Text.Substring(0, 10));
            BE.fechdocfin = Convert.ToDateTime(fechdocfin.Text.Substring(0, 10));

            BE.serref = serref.Text.Trim();
            BE.numref = numdococ1.Text.Trim() + numdococ.Text.Trim();

            if (almacaccionid.SelectedValue.ToString() != string.Empty)
            {
                BE.almacaccionid = almacaccionid.SelectedValue.ToString();
            }
            TablaProductokardex_tela = BL.GetAll_productokardex(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
            if (TablaProductokardex_tela.Rows.Count == 0)
            {
                MessageBox.Show("No existe Información Procesada", "Mensaje del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                var miForma = new Frm_Reportes();
                var reporteRollokardex = new REPORTES.CR_productokardex();
                miForma.Text = "Reporte de Kardex x Articulo";

                reporteRollokardex.DataDefinition.FormulaFields["fechdoc"].Text = "'DE: " + fechdocini.Text.Substring(0, 10) + "  AL:" + fechdocfin.Text.Substring(0, 10) + "'";
                reporteRollokardex.DataDefinition.FormulaFields["almacen"].Text = "'" + VariablesPublicas.EmpresaTipo + "'";
                if (modulo.Trim() == "0810")
                {
                    reporteRollokardex.DataDefinition.FormulaFields["name"].Text = "'TIENDA : " + VariablesPublicas.Local + "  - " + VariablesPublicas.nombrelocal + "'";
                }
                else
                {
                    reporteRollokardex.DataDefinition.FormulaFields["name"].Text = "'LOCAL : " + VariablesPublicas.Local + "  - " + VariablesPublicas.nombrelocal + "'";
                }

                if (modulo == "0320")
                {
                    reporteRollokardex.DataDefinition.FormulaFields["varitems"].Text = "'ROLLO'";
                }
                else
                {
                    reporteRollokardex.DataDefinition.FormulaFields["varitems"].Text = "''";
                }
                miForma.Table = TablaProductokardex_tela;
                miForma.Reporte = reporteRollokardex;
                miForma.Show();
            }
        }
        private void _numdoc_Properties_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Enter)
            {
                String numdo = "";
                if (_numdoc.Text.Trim().Length > 0)
                {
                    numdo = _numdoc.Text.Trim().PadLeft(10, '0');
                }
                _numdoc.Text = numdo;
                dgb_codigos.Focus();

                Add_Detalle();

                tb_me_movimientosdetBL BL = new tb_me_movimientosdetBL();
                tb_me_movimientosdet BE = new tb_me_movimientosdet();
                DataTable dt = new DataTable();
                BE.moduloid = modulo;
                BE.local = local;
                BE.tipodoc = Equivalencias.Left(cbo_tipodoc.Text,2);
                BE.serdoc = _serdoc.Text.Trim();
                BE.numdoc = _numdoc.Text.Trim();

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

                try
                {
                    if (dt.Rows.Count > 0)
                    {
                        int cont = 0;
                        foreach (DataRow fila in dt.Rows)
                        {
                            cont = cont + 1;
                            if (this.dgb_codigos.RowCount > 0)
                            {
                                int nFilaAnt = dgb_codigos.RowCount - 1;
                                if (cont > 1)
                                {
                                    TablaProductos = new DataTable();
                                    ArmarTabla();
                                    for (int j = 0; j < dgb_codigos.RowCount; j++)
                                    {
                                        row = TablaProductos.NewRow();
                                        row["productid"] = dgb_codigos.GetRowCellValue(j, "productid").ToString();
                                        row["productname"] = dgb_codigos.GetRowCellValue(j, "productname").ToString();
                                        row["nserie"] = dgb_codigos.GetRowCellValue(j, "nserie").ToString();
                                        row["lineaid"] = dgb_codigos.GetRowCellValue(j, "lineaid").ToString();
                                        row["lineaname"] = dgb_codigos.GetRowCellValue(j, "lineaname").ToString();
                                        row["grupoid"] = dgb_codigos.GetRowCellValue(j, "grupoid").ToString();
                                        row["gruponame"] = dgb_codigos.GetRowCellValue(j, "gruponame").ToString();
                                        row["subgrupoid"] = dgb_codigos.GetRowCellValue(j, "subgrupoid").ToString();
                                        row["subgrupoartic"] = dgb_codigos.GetRowCellValue(j, "subgrupoartic").ToString();
                                        row["cantidad"] = "1".ToString();
                                        TablaProductos.Rows.Add(row);
                                    }
                                    AddRowTable();
                                    mdi_dgbcodigos.DataSource = TablaProductos;

                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "productid", fila["productid"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "productname", fila["productname"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "nserie", fila["nserie"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "lineaid", fila["lineaid"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "lineaname", fila["lineaname"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "grupoid", fila["grupoid"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "gruponame", fila["gruponame"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "subgrupoid", fila["subgrupoid"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "subgrupoartic", fila["subgrupoartic"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt + 1, "cantidad","1".ToString());
                                }
                                else
                                {
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "productid", fila["productid"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "productname", fila["productname"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "nserie", fila["nserie"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "lineaid", fila["lineaid"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "lineaname", fila["lineaname"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "grupoid", fila["grupoid"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "gruponame", fila["gruponame"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "subgrupoid", fila["subgrupoid"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "subgrupoartic", fila["subgrupoartic"].ToString());
                                    dgb_codigos.SetRowCellValue(nFilaAnt, "cantidad", "1".ToString());
                                }

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

            }
        }
        private void Valida_DetDoc()
        {
            _cal_Igv();

            Decimal xxprecventa = 0, xxcostoultimo = 0, xxstock = 0, xxcostopromed = 0;
            griddetallemov.AutoGenerateColumns = false;

            tb_me_movimientosdetBL BL = new tb_me_movimientosdetBL();
            tb_me_movimientosdet BE = new tb_me_movimientosdet();

            DataTable dt = new DataTable();

            BE.moduloid = modulo;
            BE.local = local;
            BE.tipodoc = tipfac.Text.ToString();
            BE.serdoc = serfac.Text.Trim();
            BE.numdoc = numfac.Text.ToString();

            dt = BL.GetAll(EmpresaID, BE).Tables[0];
            try
            {
                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow fila in dt.Rows)
                    {
                        tb_me_local_stockBL BL2 = new tb_me_local_stockBL();
                        tb_me_local_stock BE2 = new tb_me_local_stock();
                        DataTable dt2 = new DataTable();

                        BE2.moduloid = modulo;
                        BE2.local = local;
                        BE2.productid = fila["productid"].ToString();

                        dt2 = BL2.GetAll(EmpresaID, BE2).Tables[0];

                        if (dt2.Rows.Count > 0)
                        {
                            if (almacaccionid.Trim() == "20" || almacaccionid.Trim() == "21")
                            {
                                lbl_valor.Text = "Cost.Prom";
                                xxprecventa = Convert.ToDecimal(dt2.Rows[0]["precventa"]);
                                xxcostopromed = Convert.ToDecimal(dt2.Rows[0]["costopromed"]);

                            }
                            else if (almacaccionid.Trim() == "10" || almacaccionid.Trim() == "11")
                            {
                                lbl_valor.Text = "Cost.Ultm";
                                xxcostoultimo = Convert.ToDecimal(dt2.Rows[0]["costoultimo"]);
                            }

                            xxstock = Convert.ToDecimal(dt2.Rows[0]["stock"]);
                            if (xxstock == 0)
                            { xxstock = Convert.ToDecimal(dt2.Rows[0]["stockini"]); }
                        }

                        row = Tabladetallemov.NewRow();
                        row["itemref"] = fila["itemref"].ToString();
                        row["items"] = fila["items"].ToString();
                        row["productid"] = fila["productid"].ToString().Trim();
                        row["productname"] = fila["productname"].ToString().Trim();

                        Decimal cantidad = Math.Round(Convert.ToDecimal(fila["cantidad"]), 4);
                        row["stock"] = xxstock;
                        row["precventa"] = xxprecventa;
                        row["costoultimo"] = xxcostoultimo;
                        row["costopromed"] = xxcostopromed;

                        row["cantidad"] = cantidad;
                        row["cantidad_old"] = Math.Round(Convert.ToDecimal(fila["cantidad"]), 4);
                        row["precunit"] = Math.Round(Convert.ToDecimal(Convert.ToDecimal(fila["precunit"]).ToString("###,###,##0.000000")), 6);
                        Decimal precunit = Math.Round(Convert.ToDecimal(Convert.ToDecimal(fila["precunit"]).ToString("###,###,##0.000000")), 6);
                        Decimal importe;
                        importe = cantidad * precunit;

                        row["importfac"] = importe;
                        row["valor"] = Math.Round(Convert.ToDecimal(fila["valor"]), 6);
                        row["importe"] = Math.Round(Convert.ToDecimal(fila["importe"]), 6);
                        row["totimpto"] = Math.Round(Math.Round(Convert.ToDecimal(fila["importe"]), 6) * (Convert.ToDecimal(igv) / 100), 6);
                        row["almacaccionid"] = almacaccionid.Trim();

                        Tabladetallemov.Rows.Add(row);
                        griddetallemov.DataSource = Tabladetallemov;
                    }
                    _RecalculoGrid();
                }
                else
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void data_Tabladetallemovmov()
        {
            _cal_Igv();
            try
            {
                Decimal xxprecventa = 0, xxcostoultimo = 0, xxstock = 0, xxcostopromed = 0;
                griddetallemov.AutoGenerateColumns = false;

                tb_me_movimientosdetBL BL = new tb_me_movimientosdetBL();
                tb_me_movimientosdet BE = new tb_me_movimientosdet();
                DataTable dt = new DataTable();

                BE.moduloid = modulo;
                BE.local = local;
                BE.tipodoc = tipodoc.SelectedValue.ToString().Trim();
                BE.serdoc = serdoc.Text.Trim().PadLeft(4, '0');
                BE.numdoc = numdoc.Text.Trim().PadLeft(6, '0');

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

                //datos incluido IGV
                if (dt.Rows.Count > 0)
                {
                    statcostopromed = dt.Rows[0]["statcostopromed"].ToString();
                    tiptransac = dt.Rows[0]["tiptransac"].ToString();
                    incprec = dt.Rows[0]["incprec"].ToString().Trim();
                    //tipoperef = dt.Rows[0]["tipoperef"].ToString();
                }

                if (Tabladetallemov != null)
                {
                    Tabladetallemov.Clear();
                }

                foreach (DataRow fila in dt.Rows)
                {
                    tb_me_local_stockBL BL2 = new tb_me_local_stockBL();
                    tb_me_local_stock BE2 = new tb_me_local_stock();
                    DataTable dt2 = new DataTable();
                    BE2.moduloid = modulo;
                    BE2.local = local;
                    BE2.productid = fila["productid"].ToString();
                    dt2.Clear();
                    dt2 = BL2.GetAll(EmpresaID, BE2).Tables[0];

                    if (dt2.Rows.Count > 0)
                    {
                        if (almacaccionid.Trim() == "20" || almacaccionid.Trim() == "21")
                        {
                            lbl_valor.Text = "Cost.Prom";
                            xxprecventa = 0;// Convert.ToDecimal(dt2.Rows[0]["precventa"]);
                            xxcostopromed = Convert.ToDecimal(dt2.Rows[0]["costopromed"]);

                        }
                        else if (almacaccionid.Trim() == "10" || almacaccionid.Trim() == "11")
                        {
                            lbl_valor.Text = "Cost.Ultm";
                            xxcostoultimo = Convert.ToDecimal(dt2.Rows[0]["costoultimo"]);
                        }

                        xxstock = Convert.ToDecimal(dt2.Rows[0]["stock"]);
                    }

                    row = Tabladetallemov.NewRow();
                    row["itemref"] = fila["itemref"].ToString();
                    row["items"] = fila["items"].ToString();
                    row["productid"] = fila["productid"].ToString().Trim();
                    row["productname"] = fila["productname"].ToString().Trim();
                    row["rollo"] = fila["rollo"].ToString();
                    row["stock"] = xxstock;
                    row["stock_old"] = xxstock;
                    row["precventa"] = xxprecventa;
                    row["costoultimo"] = xxcostoultimo;
                    row["costopromed"] = xxcostopromed;
                    //row["cantidad"] = Math.Round(Convert.ToDecimal(fila["cantidad"]), 4);
                    //row["cantidad_c"] = Math.Round(Convert.ToDecimal(fila["cantidad_c"]), 4);

                    Decimal cantidad = Math.Round(Convert.ToDecimal(fila["cantidad"]), 4);
                    Decimal cantidadcta = Math.Round(Convert.ToDecimal(fila["cantidadcta"]), 4);
                    Decimal total;
                    total = cantidad - cantidadcta;

                    row["cantidad"] = total;

                    //row["cantidad_old"] = Math.Round(Convert.ToDecimal(fila["cantidad"]), 4);
                    row["cantidad_old"] = Convert.ToDecimal(fila["cantidad"]);

                    row["precunit"] = Math.Round(Convert.ToDecimal(Convert.ToDecimal(fila["precunit"]).ToString("###,###,##0.000000")), 6);

                    row["importfac"] = Math.Round(Convert.ToDecimal(fila["importfac"]), 2);

                    row["valor"] = Math.Round(Convert.ToDecimal(fila["valor"]), 6);
                    row["importe"] = Math.Round(Convert.ToDecimal(fila["importe"]), 6);
                    row["totimpto"] = Math.Round(Math.Round(Convert.ToDecimal(fila["importe"]), 6) * (Convert.ToDecimal(igv) / 100), 6);

                    row["almacaccionid"] = almacaccionid.Trim();
                    row["unmed"] = fila["unmed"].ToString().Trim();
                    row["nserie"] = fila["nserie"].ToString().Trim();
                    row["ubicacion"] = fila["ubicacion"].ToString().Trim();
                    row["nostock"] = xnostock;
                    Tabladetallemov.Rows.Add(row);

                }

                griddetallemov.DataSource = Tabladetallemov;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public bool _ValidaDocuOP()
        {
            bool xsigo = true;

            try
            {
                tb_me_movimientosdetBL BL = new tb_me_movimientosdetBL();
                tb_me_movimientosdet BE = new tb_me_movimientosdet();
                DataSet ds = new DataSet();

                BE.moduloid = modulo;
                BE.local = local;
                BE.ser_op = ser_op.Text.Trim();
                BE.num_op = num_op.Text.Trim();
                BE.tipodoc = tipodoc.SelectedValue.ToString();
                BE.serdoc = serdoc.Text.Trim();
                BE.numdoc = numdoc.Text.Trim();
                BE.almacaccionid = almacaccionid;

                // Consultar a la Capa

                ds = BL.Get_DocOP(EmpresaID, BE);

                if (ds.Tables.Count > 0)
                {
                    //datos incluido IGV
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        String msg = "Error Ord.Prod Habilitado en:\n" +
                                     "----------------------------\n";
                        String msg2 = "";
                        foreach (DataRow fila in ds.Tables[0].Rows)
                        {
                            msg2 = msg2 +
                                "Fecha :" + fila["fechdoc"].ToString() +
                                "\nDocumento :" + fila["numdoc"].ToString() +
                                "\nDestino :" + fila["ctactename"].ToString() + "\n\n";
                        }
                        xsigo = (MessageBox.Show(msg + msg2, "Desea Proseguir !!!", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return xsigo;
        }