private void dgvLote_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex < 0)
                {
                    return;
                }
                if (e.RowIndex == -1)
                {
                    return;
                }
                if (dgvLote.Columns[e.ColumnIndex].Name == "btnLiquidacion")
                {
                    String  strIdLote = dgvLote.CurrentRow.Cells["IdLote"].Value.ToString();
                    DataSet dsLotes   = new DataSet();
                    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConexionStrDBEfideFactoring"].ConnectionString))
                    {
                        SqlCommand cmd1 = new SqlCommand("Rpt_Lote_Cab", con);
                        cmd1.CommandType = CommandType.StoredProcedure;
                        cmd1.Parameters.AddWithValue("@IdLote", strIdLote);
                        SqlDataAdapter daCab = new SqlDataAdapter(cmd1);
                        daCab.Fill(dsLotes, "Rpt_Lote_Cab");

                        SqlCommand cmd2 = new SqlCommand("Rpt_Lote_Det", con);
                        cmd2.CommandType = CommandType.StoredProcedure;
                        cmd2.Parameters.AddWithValue("@IdLote", strIdLote);
                        SqlDataAdapter daDet = new SqlDataAdapter(cmd2);
                        daDet.Fill(dsLotes, "Rpt_Lote_Det");

                        con.Close();
                    }

                    Crystal.crRegLiquidacion         ocrLoteLiquidacion       = new Crystal.crRegLiquidacion();
                    Reportes.frmVisorLoteLiquidacion ofrmVisorLoteLiquidacion = new Reportes.frmVisorLoteLiquidacion();
                    ofrmVisorLoteLiquidacion.crvVisorLoteLiq.ReportSource = ocrLoteLiquidacion;
                    ocrLoteLiquidacion.SetDataSource(dsLotes);
                    ocrLoteLiquidacion.SetParameterValue("usuario", General.General.GetUsuario);
                    ocrLoteLiquidacion.SetParameterValue("moneda", dsLotes.Tables[0].Rows[0]["IdMoneda_Dsc"].ToString());
                    ofrmVisorLoteLiquidacion.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btnVerLiquidacion_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = 0;

            try
            {
                if (dgvLote.RowCount > 0)
                {
                    string  IdLote  = dgvLote.CurrentRow.Cells["IdLote"].Value.ToString();
                    DataSet dsLotes = new DataSet();
                    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConexionStrDBEfideFactoring"].ConnectionString))
                    {
                        SqlCommand cmd1 = new SqlCommand("Rpt_Lote_Cab", con);
                        cmd1.CommandType = CommandType.StoredProcedure;
                        cmd1.Parameters.AddWithValue("@IdLote", IdLote);
                        SqlDataAdapter daCab = new SqlDataAdapter(cmd1);
                        daCab.Fill(dsLotes, "Rpt_Lote_Cab");

                        SqlCommand cmd2 = new SqlCommand("Rpt_Lote_Det", con);
                        cmd2.CommandType = CommandType.StoredProcedure;
                        cmd2.Parameters.AddWithValue("@IdLote", IdLote);
                        SqlDataAdapter daDet = new SqlDataAdapter(cmd2);
                        daDet.Fill(dsLotes, "Rpt_Lote_Det");

                        con.Close();
                    }

                    Crystal.crRegLiquidacion         ocrLoteLiquidacion       = new Crystal.crRegLiquidacion();
                    Reportes.frmVisorLoteLiquidacion ofrmVisorLoteLiquidacion = new Reportes.frmVisorLoteLiquidacion();
                    ofrmVisorLoteLiquidacion.crvVisorLoteLiq.ReportSource = ocrLoteLiquidacion;
                    ofrmVisorLoteLiquidacion.StartPosition = FormStartPosition.CenterScreen;
                    ofrmVisorLoteLiquidacion.WindowState   = FormWindowState.Maximized;
                    ocrLoteLiquidacion.SetDataSource(dsLotes);
                    ocrLoteLiquidacion.SetParameterValue("usuario", General.General.GetUsuario);
                    ocrLoteLiquidacion.SetParameterValue("moneda", dsLotes.Tables[0].Rows[0]["IdMoneda_Dsc"].ToString());
                    ofrmVisorLoteLiquidacion.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }