5

Ok, así que estoy construyendo una especie de central de informes para la empresa en la que trabajo y la parte fácil fue construir un buscador de archivos basado en web, ahora voy a pasar al aspecto del informe y para comenzar, estoy integrando Crystal Reports. Ya he obtenido los archivos del sitio web de SAP para ellos, pero me encuentro con un par de problemas,Crystal Reports en MVC

En primer lugar, todos los ejemplos que he encontrado hacen que sea necesario definir la fuente de datos/base de datos, e incluir información de inicio de sesión en el código. Esto es un problema porque tenemos MUCHOS informes de cristal, con muchas referencias de bases de datos diferentes, así que no puedo usar uno para todos. De hecho, hay informes de que usamos esa base de datos múltiple de referencia al mismo tiempo.

En segundo lugar, todos los ejemplos que he encontrado lo hacen parecer que debe tener una página específica creada para cada informe. Mi objetivo es poder tener el enlace del informe como una variable y tener una página para todos los informes que tenemos.

Miré todo lo que pude encontrar ayer y no pude encontrar lo que necesitaba. También me pregunto qué demonios tiene la función ReportClass.Load. Fue en cada ejemplo que pude encontrar y no noté ninguna diferencia explícita en el ReportClass que tenía cuando lo usé.

Mientras buscaba, encontré una respuesta que sugería crear una aplicación de formularios web que creara los Informes, y luego usé un I-Frame para capturarlo, pero eso es algo que quiero evitar.

Así pues, en opinión:

1) Tengo que construir Crystal Reports sin tener que hacer referencia a la base de datos

2) Necesito que sea flexible a un informe variable sólo el suministro de ruta de acceso al. archivo rpt

3) me gustaría que fuera en una sola aplicación, en MVC, y evitando IFrames

Muchas gracias por su ayuda !!

EDIT: Encontré una solución que me funciona. En lugar de usar una vista RAZOR, utilicé una vista ASPX, que tiene la herramienta Crystal Reports Viewer en la caja de herramientas. Para hacerlo variable, utilicé ViewBag.

Código de control:

[HttpGet] 
    public ActionResult Viewer(string Path) 
    { 
     var sessionID = Session.SessionID; 
     ViewBag.Path = newPath; 
     return View(); 
    } 

ASPX Ver código:

<% Report.Report.FileName = ViewBag.Path; %> 
    <CR:CrystalReportViewer ID="Viewer" runat="server" AutoDataBind="True" GroupTreeImagesFolderUrl="" Height="100%" ReportSourceID="Report" ToolPanelWidth="200px" Width="100%" /> 
    <CR:CrystalReportSource ID="Report" runat="server"> 
     <Report></Report> 
    </CR:CrystalReportSource> 
+0

Me encantaría, y esa puede ser una buena solución a partir de ahora, de hecho, planeo agregar funcionalidad para los informes de SSRS así como los informes de Excel en el proyecto final, pero ya tenemos literalmente cientos de Crystal Reports ya hechos , Solo estoy creando el visor para ellos. Intentar rehacerlos tomaría demasiado tiempo. Nos estamos moviendo más hacia los informes de SSRS ahora, pero todavía necesitamos una gran mayoría de los informes que ya tenemos en Crystal. ¡¡Y gracias por ayudar !! –

+0

Sí, pasé por alto la parte de su publicación sobre los informes existentes, así que eliminé mi comentario :) – HardCode

+0

No sé sobre los puntos 2 y 3, pero el punto 1 no es posible en Crystal, o SSRS, o cualquier otro diseñador de informes, lo sé, ¿cómo se supone que debe agregar campos a un informe si no tiene forma de determinar qué campos son? (Debería poder * modificar * el diseño de los informes existentes sin acceso a la base de datos, pero no construirlos desde cero.) –

Respuesta

0

Una pregunta "similar" (no exactamente) se le pidió here. Con suerte, eso puede llevarte por el camino correcto.

0

1) Tengo que construir Crystal Reports sin tener que hacer referencia a la base de datos

¿Ha considerado la construcción de un almacén de datos para sus necesidades de análisis e informes? Un almacén de datos tiene muchos beneficios sobre una estructura de informes tradicional, especialmente cuando se extraen datos de múltiples fuentes.

En lo que respecta al punto 2 & 3 ¿ha considerado que los informes de cristal simplemente no son la solución de informes más ideal?

Crystal Reports es una herramienta poderosa, pero la verdad es que no me gusta mucho cuando se trata de proporcionar inteligencia de informes a través de Internet o una intranet.

¿Ha considerado las herramientas de conmutación? Por ejemplo, http://www.tableausoftware.com/ proporciona algunas excelentes herramientas de visualización de datos y la OMI es una herramienta mucho mejor para el trabajo que está describiendo.

Tenga en cuenta que esta es simplemente una herramienta (ya que hay muchas por ahí), pero que he tenido un poco de experiencia y superó nuestras expectativas, especialmente al estar sobre un almacén de datos.

Cuestiones relacionadas