Grafici in Business Central senza PowerBI

Salve lettore, in questo articolo voglio parlarti di come puoi ottenere grafici in Business Central senza l’utilizzo di PowerBI.

Se tu che stai leggendo sei un utente finale, sicuramente questo articolo potrebbe non servirti perché è complicato farlo da solo, occorre sviluppare codice AL, tuttavia ti potrebbe dare uno spunto per chiedere al tuo partner di implementarti dei grafici all’interno delle pagine Business Central.

L’idea che sta alla base è l’utilizzo dell’addin standard Microsoft.Dynamics.Nav.Client.BusinessChart. Pertanto sviluppiamo una pagina di tipo Card, ed innestiamo l’addin come segue.

Implementiamo il trigger AddinReady utilizzando la tabella “Business Chart Buffer” che è una tabella il cui scopo è quello di separare i dati del grafico dalla pagina. La tabella Business Chart Buffer contiene temporaneamente i dati per la creazione di un grafico, ad esempio il tipo di grafico, le misure e le etichette. La tabella utilizza l’interoperabilità di Microsoft .NET Framework per fare riferimento ai tipi nell’assembly System.Data per la compilazione di una tabella dati contenente i dati del grafico. Per generare un grafico, la pagina che contiene il componente aggiuntivo del controllo Business Chart recupera i dati dalla tabella Business Chart Buffer e li passa al componente aggiuntivo del controllo Business Data Chart.‎

Definiamo il tipo di grafico tramite la funzione AddMeasure e l’asse con i clienti tramite la funzione SetAxis.

Definita la struttura del grafico, leggiamo, ad esempio, i clienti che hanno il campo “Profitto (VL)” diverso da 0 e alimentiamo il grafico tramite le funzioni AddColumn e SetValueByIndex. Ne otteniamo il seguente risultato (a scopo dimostrativo questa pagina si apre attraverso una pageextension della pagina Customer List).

Et voilà il grafico a torta definito nella funzione AddMeasure è stato creato. Puoi creare tanti altri tipi di grafico con questo tipo di addin. Inoltre ti voglio far notare che l’addin ha un altro trigger interessante, chiamato DataPointClicked, questo trigger ha come parametro un JsonObject che può essere utilizzato in svariati ambiti. Ad esempio guardiamo come utilizzarlo.

Il comportamento è che cliccando su una delle fette della torta, appare un messaggio con il Json dei dati passati precedentemente al grafico. Questo lo possiamo usare, poi, per aprire altre pagine, passarlo a sua volta un servizio web e così via.

Spero che questo articolo ti abbia dato dei nuovi spunti per i tuoi prossimi sviluppi su Business Central.

Leave a Reply