none
Crystal reports en asp.net no puedo mostrar reporte (URGENTE) RRS feed

  • Pregunta

  • Hola buenas tardes para un proyecto escolar tengo que hacer un sistema web de un punto de venta, la mayoría del sistema ya esta, solo me falta que muestre el ticket de venta pero al momento que me voy a la pagina que muestra el ticket( echo en cristal reports) la consulta de la venta y los detalles la hace bien pero no me muestra el reporte.

    porfavor les pido su ayuda es urgente el proyecto se entrega este martes.

    gracias a todos.

    (se que es mucho que leer pero por favor ayúdenme se los pido)

    les voy a dejar todo mi codigo  para que me puedan decir donde lo estoy haciendo mal, por que ya solo falta mostrar el reporte.

    Ahorita lo estoy haciendo con datos estáticos, ya cuando pueda mostrar el reporte ya lo voy a parametrizar como se debe:

    Este es mi dataSet

    este es mi dataSet para el reporte

    Este es el reporte del ticket que se llena con ese dataSet

    Este es el codigo para redireccionar hacia la pagina donde se va a mostrar el ticket:

            protected void btnImprimir_Click(object sender, EventArgs e)
            {
                Response.Redirect("Ticket.aspx");
            }

    Este es el codigo que se ejecuta en el evento page_load de la pagina  Ticket.aspx :

            protected void Page_Load(object sender, EventArgs e)
            {
                string cadconexion = ConfigurationManager.ConnectionStrings["connDB"].ConnectionString;
    
                var  dsv =VentasDA.GetTicket(cadconexion, 2); // 2 este es el id de la venta que uso para la prueba
                dsVentas v = new dsVentas();
                foreach (DataRow dr in dsv.Tables["Venta"].Rows)
                {
                    v.Venta.Rows.Add(dr["Id"], dr["NombreCliente"], dr["NombreEmpleado"],
                        dr["Fecha"], dr["SubTotal"], dr["Iva"], dr["Total"]);
                }
                foreach (DataRow dr in dsv.Tables["DetalleVenta"].Rows)
                {
                    v.DetalleVenta.Rows.Add(dr["Descripcion"], dr["Cantidad"], dr["TipoUnidad"],
                        dr["PrecioUnitario"], dr["PrecioTotal"]);
                }
                TicketVenta tv = new TicketVenta();
                tv.SetDataSource(v);
                CrystalReportViewer1.ReportSource =tv;
            }

    y este ultimo es del metodo VentasDA.GetTicket() :

    public static DataSet GetTicket(string cadconn, int idVenta)
            {
                DataSet dsVenta = new DataSet();
                DataTable Venta = new DataTable("Venta");
                DataTable DetalleVenta = new DataTable("DetalleVenta");
                dsVenta.Tables.Add(Venta);
                dsVenta.Tables.Add(DetalleVenta);
                using (SqlConnection conn = ConexionEntity.GetConexion(cadconn))
                {
                    if (conn != null)
                    {
                        if (conn.State == ConnectionState.Closed)
                            conn.Open();
                        try
                        {
                            string sql = "select v.Id,c.Nombre AS NombreCliente,e.Nombre AS NombreEmpleado,v.Fecha,v.SubTotal,v.Iva,v.Total " +
                                "from ventas v " +
                                "left join clientes c on c.Id = v.IdCliente " +
                                "left join usuarios u on u.Id = v.IdCajero " +
                                "left join Empleados e on e.Id = u.IdEmpleado " +
                                "where v.Id=@IdVenta ";
                            SqlCommand cmd = new SqlCommand(sql, conn);
                            cmd.Parameters.AddWithValue("@IdVenta", idVenta);
                            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                            adapter.Fill(Venta);
    
                            string sqlp = "select dv.Descripcion,dv.Cantidad,dv.TipoUnidad,dv.TipoProducto,dv.PrecioUnitario,dv.PrecioTotal" +
                                " from DetalleVenta dv where dv.IdVenta = @IdV";
                            SqlCommand cmdp = new SqlCommand(sqlp, conn);
                            cmdp.Parameters.AddWithValue("@IdV", idVenta);
                            SqlDataAdapter adapterp = new SqlDataAdapter(cmdp);
                            adapterp.Fill(DetalleVenta);
                        }
                        catch (Exception e)
                        {
                            throw e;
                        }
                        finally
                        {
                            conn.Close();
                        }
                    }
                }
                return dsVenta;
            }
    sábado, 28 de marzo de 2020 21:32

Todas las respuestas

  • Hola Fernando De Jesus Basurto

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, vamos a darte seguimiento e investigaremos para buscar la mejor respuesta para ti.

     

    Gracias por usar los foros de MSDN.

     

    Luis Diego Mora

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    martes, 31 de marzo de 2020 20:35
    Moderador