Buscar en este blog

domingo, 28 de septiembre de 2014

Visualizar reporte SSRS en AX 2012 mediante código X++

Para visualizar un reporte SSRS creado en Ax 2012, tenemos dos opciones, una es mediante código como les voy a mostrar en el siguiente método y la otra es mediante un Menu Item que se ponga en un menu o en un formulario.

Casos:
1. SSRS basado en query y  sin clase controladora --> Crear MenuItem del tipo Output para el objeto del reporte SSRS ó por código como se muestra abajo.
2. SSRS RDP sin clase controladora --> mismo caso que el anterior.
3. SSRS basado en query y  con clase controladora  --> Crear MenuItem del tipo Output a la clase controladora.
4. SSRS RDP con clase controladora --> mismo caso que el anterior.

Entonces, en caso de no querer usar un menu item, también se puede hacer la llamada por código, aunque la práctica recomendable es usar menu items.

private void ssrsReporteView(RetailStoreId _idStore, date _startProcess)
{
    SrsReportRun srsReportRun;

    //Inicializando el reporte, en este caso mi reporte se llama GRWDepositReport y el diseño se llama Report
    srsReportRun = new SrsReportRun ("GRWDepositReport.Report" );
    srsReportRun.init();
    //Título del reporte que se visualiza en la ventana donde se abre (report viewer)
    srsReportRun.reportCaption( "Reporte de depósito");
    //Si tiene parámetros, se los paso igual por código
    srsReportRun.reportParameter( "DepositDS_IdStore").value(_idStore);
    srsReportRun.reportParameter( "DepositDS_DateStartProcess").value(_startProcess);
    //Le digo que no me presente el dialog de los parámetros, esto para que muestre el reporte directo al usuario
    srsReportRun.showDialog( false);

    if( srsReportRun )
    {
        //Aquí se ejecuta el reporte
        srsReportRun.executeReport();
    }
}

Finalmente, si buscamos imprimir el reporte directo a PDF, aquí el código.

private void ssrsReporteView(RetailStoreId _idStore, date _startProcess)
{
    SrsReportRun srsReportRun;

    //Inicializando el reporte, en este caso mi reporte se llama GRWDepositReport y el diseño se llama Report
    srsReportRun = new SrsReportRun ("GRWDepositReport.Report" );
    srsReportRun.init();
    //Si tiene parámetros, se los paso igual por código
    srsReportRun.reportParameter( "DepositDS_IdStore").value(_idStore);
    srsReportRun.reportParameter( "DepositDS_DateStartProcess").value(_startProcess);
    //Le digo que no me presente el dialog de los parámetros, esto para que muestre el reporte directo al usuario
    srsReportRun.showDialog( false);

    //Imprimir a un archivo PDF
    srsReportRun.printDestinationSettings().printMediumType(SRSPrintMediumType::File);
    srsReportRun.printDestinationSettings().fileFormat(SRSRepoFileFormar::PDF);
    srsReportRun.printDestinationSettings().overwriteFile(true);
    srsReportRun.printDestinationSettings().fileName(@"C:\ReporteDeposito.pdf");

    if( srsReportRun )
    {
        //Aquí se ejecuta el reporte
        srsReportRun.executeReport();
    }
}



Por último, te invito a que te unas a la página de facebook recién creada para estar al día con las actualizaciones del blog y que podamos tener más comunicación. La meta? es hacer la comunidad de habla hispana mas grande sobre Dynamics Ax en cuestiones de desarrollo.


Y por cierto, acuerdate de darle click a algún anuncio si el post te sirvio de algo.



<<    Anterior - Crear reportes RDP....                              Siguiente - Repetir encabezados....    >>



<<<<<     Indice de tutorial de Reportes SSRS....


No hay comentarios.:

Publicar un comentario