private void btnImprimir_Click(object sender, EventArgs e)
        {
            if(dtFechaFin.Value>=dtFechaIni.Value)
            {
                switch (strOpcion)
                {
                    case "SalidaArea":
                            if(CatPartidaActual!=null)
                            {
                                CatAreaActual = cmbProveedor.SelectedValue as CatArea;
                                ImprimeEntradaProveedor(CatAreaActual != null
                                                            ? "sd.Salida.CatArea = :objCatArea and "
                                                            : "");
                            }
                            else
                            {
                                MessageBox.Show(@"Ingrese Partida, Verifique . .",
                                           @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        break;

                }
            }
            else
            {
                MessageBox.Show(@"La Fecha Final Debe Ser Mayor a Fecha Inicial, Verifique . .",
                               @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void ImprimeSalidaDetallado(string strEntradaFecha, string strEntradaFolio, string strSituacion,
                        string strCatArea, CatArea objCatArea)
        {
            var salidaDetalles = SalidaService.SalidaDetalleDao.RptSalidaDetallado
                    (FrmAlmacen.AlmacenActual, strEntradaFecha, strEntradaFolio, strSituacion, strCatArea, objCatArea);

            if (salidaDetalles.Count != 0)
            {
                var lstSalida = new List<rptDataEntradaDetallado>();
                foreach (var salidaDetalle in salidaDetalles)
                {
                    var entrada = new rptDataEntradaDetallado()
                    {
                        Es = "SALIDAS",
                        Fecha = DateTime.Parse(salidaDetalle[0].ToString()),
                        Folio = (int)salidaDetalle[1],
                        Factura = salidaDetalle[2].ToString(),

                        CveArt = (int)salidaDetalle[3],
                        DesArticulo = salidaDetalle[4].ToString(),

                        Cantidad = (decimal)salidaDetalle[5],
                        Precio = (decimal)salidaDetalle[6],

                        Caducidad = DateTime.Parse(salidaDetalle[7].ToString()),
                        Lote = salidaDetalle[8] + "-" + salidaDetalle[9],

                        Status = salidaDetalle[10] == null ? "A" : salidaDetalle[10].ToString()
                    };
                    lstSalida.Add(entrada);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstSalida,
                    StrRptName = "rptSalidaDetallado",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Salidas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }