Aggiunta di un layout Excel a un report

Completato

Quando si crea un nuovo report, ci sono due attività principali da prendere in considerazione. Per prima cosa occorre definire il set di dati del report composto da elementi dati e colonne. Quindi, si procederà alla progettazione del layout del report.

Con il layout del report di Excel, è possibile creare un report di base che riporti un set di dati e lasciare all'utente finale la possibilità di modificarlo ulteriormente. Gli utenti finali possono usare l'intera gamma di funzionalità in Excel come dispositivi di scorrimento, diagrammi, grafici, tabelle pivot e PowerQuery per progettare il report.

Questo procedimento offre all'utente finale la flessibilità e la libertà di modificare l'aspetto di un report, aggiungendo ulteriori visualizzazioni, filtrando e ordinando i dati. Un layout di questo tipo progettato dall'utente finale può essere importato e usato come nuovo layout. Le informazioni di seguito spiegano come creare un report di base basato su un layout di Excel.

Si prenda in esame il report seguente:

report 50101 ExampleEXCELLayout
{
    Caption = 'ExampleEXCELLayout';
    UsageCategory = ReportsAndAnalysis;
    ApplicationArea = All;
    DefaultRenderingLayout = ExampleEXCELLayout;

    dataset
    {
        dataitem(Customer; Customer)
        {
            column(CustomerNo; "No.") { }
            column(CustomerName; Name) { }
            column(City; City) { }
            column(BalanceLCY; "Balance (LCY)") { }
        }
    }

    rendering
    {
        layout(ExampleEXCELLayout)
        {
            Type = Excel;
            LayoutFile = './src/Reports/EXCEL/ExampleEXCELLayout.xlsx';
            Caption = 'ExampleEXCELLayout';
            Summary = 'An example of an EXCEL Layout.';
        }
    }
}

Per abilitare più layout, è necessario usare la sezione rendering di un oggetto report. All'interno di tale sezione si definiscono una o più sezioni layout. In ognuna delle sezioni del layout specificare i dettagli relativi al percorso e al nome del file di layout, fornire una proprietà Caption e una proprietà Summary che l'utente può visualizzare nella pagina Layout report in Business Central.

Se non si specifica una didascalia, viene visualizzato il nome del layout.

È possibile specificare il layout predefinito con la proprietà del report DefaultRenderingLayout. Questa proprietà non può essere impostata su oggetti estensione report, solo su oggetti report.

I report che usano la precedente specifica di layout basata su proprietà possono essere convertiti in modo da usare la sezione rendering tramite un'azione di codice. Per usarla, accertarsi che le azioni siano attivate nelle impostazioni dell'estensione AL e posizionare il cursore su una delle proprietà del layout precedenti per usare l'azione. È possibile specificare i layout di tipo RDLC, Word, Excel e Personalizzato con la nuova sintassi di rendering.

Per generare il layout, creare l'estensione (CTRL+MAIUSC+B). Il file ExampleEXCELLayout.xlsx viene creato nella radice del progetto corrente.

Per aprire il file di layout del report generato, fare clic con il pulsante destro del mouse sul file ExampleEXCELLayout.xlsx e selezionare Apri esternamente, come mostrato nello screenshot seguente.

Screenshot che mostra il clic con il pulsante destro del mouse sul file ExampleEXCELLayout.xlsx per visualizzare le opzioni con Apri esternamente selezionato.

Ora è possibile modificare il layout in Microsoft Excel.

In Excel, il layout avrà il formato seguente:

È importante non modificare il set di dati in Excel, ma solo il layout.

In Excel, andare alla scheda Inserisci, scegliere Tabella pivot, quindi Da tabella/intervallo con le opzioni predefinite Dati e Nuovo foglio di lavoro. Selezionare il pulsante OK.

Screenshot di Excel che mostra il pulsante Tabella pivot espanso per visualizzare l'opzione Da tabella/intervallo.

Screenshot della finestra di dialogo Tabella pivot da tabella o intervallo con Foglio di lavoro esistente selezionato.

Dal riquadro Campi tabella pivot a destra, scegliere un numero adeguato di campi da aggiungere al report.

Screenshot del riquadro Campi tabella pivot con i campi CustomerName, City e BalanceLCY selezionati.

Se si è aggiunto il campo BalanceLCY come Conteggio nella sezione Valori del riquadro Campi tabella pivot, è possibile modificarlo in una Somma, che ha più senso in questo report:

Screenshot delle impostazioni del campo Valore per Conteggio di BalanceLCY con l'opzione

A questo punto, salvare e chiudere il file Excel.

Tornare a Visual Studio Code e premere CTRL+F5 per compilare e avviare Business Central.

Ora, per scegliere il layout del report modificato, cercare la pagina Selezione layout report, quindi cercare il report.

Nella colonna Tipo di layout scegliere Excel, quindi Esegui report dalla barra delle azioni.

Nella pagina di richiesta, scegliere il pulsante Download e, una volta scaricato il report, aprirlo.

Un altro modo per generare il set di dati in base al quale creare un layout consiste nell'eseguire un report in Business Central e nella pagina di richiesta, quindi selezionare l'opzione Documento Microsoft Excel (solo dati). Il risultato sarà lo stesso. È quindi possibile progettare il layout, salvarlo come nuovo layout e includerlo nel progetto AL.

Contratto di dati del layout Excel nel primo ciclo di rilascio del 2023 e versioni precedenti

Ogni file di layout Excel deve avere un foglio di lavoro denominato Dati. Questo foglio di lavoro ha uno scopo: definire i campi di metadati dalla definizione del set di dati dell'oggetto report che usa il layout, a volte chiamato contratto di dati tra il file di layout e la definizione del set di dati del report. Il contratto di dati comprende le seguenti regole:

  1. I campi metadati devono essere scritti nella prima riga del foglio di lavoro Dati, uno in ciascuna cella.

  2. Tutti i campi metadati nel foglio di lavoro Dati devono esistere come campi metadati nella definizione del set di dati dell'oggetto report.

  3. Non è possibile rinominare i campi nel foglio di lavoro Dati. Devono corrispondere ai campi metadati nella definizione del set di dati.

  4. Non è necessario usare tutti i campi metadati nella definizione del set di dati nel foglio di lavoro Dati.

Quando si sviluppano layout Excel, è possibile aggiungere dati demo al foglio di lavoro Dati per agevolare la visualizzazione del risultato finale quando si esegue il rendering del report con il layout. I dati vengono rimossi durante l'importazione in Business Central, ma se si includono layout Excel in un'app/estensione, potrebbe essere utile conservare i dati demo per facilitare la risoluzione dei problemi.

Contratto di dati del layout Excel nel secondo ciclo di rilascio del 2023 e versioni precedenti

La proprietà ExcelLayoutMultipleDataSheets consente di lavorare con report che eseguono il report di più fogli di lavoro per i dati del report quando il set di dati contiene più elementi dati. Impostando la proprietà su true, il runtime AL genera un foglio di lavoro Excel per ogni elemento di dati e vi inserisce i dati. In caso contrario, se la proprietà è impostata su false, ovvero l'impostazione predefinita, si usa un solo foglio per tutti i dati (come descrive la sezione precedente).

Ognuno dei fogli è denominato #DataItemName, dove DataItemName è il nome assegnato all'elemento dati nella progettazione del report. Quando si aggiungono layout Excel vuoti al report, si usa la proprietà per determinare la struttura del foglio.

Con dati in più fogli di lavoro, il layout report può ora includere con facilità modelli di dati definiti con la funzionalità PowerPivot in Excel.

Convalida di un layout Excel

Quando si importa un layout Excel come parte di un'app o quando un utente carica un file di layout Excel, Business Central Server esegue le seguenti operazioni:

  1. Carica il file di layout Excel e verifica se il file è effettivamente un file Excel (.xlsx) e che non sia protetto da password. Se non è un file Excel valido, Business Central Server rifiuta il layout.

  2. Legge i campi metadati presenti nel foglio di lavoro Dati (il contenuto del contratto di dati). Se non esiste alcun foglio di lavoro Dati, Business Central Server rifiuta il layout.

  3. Rimuove qualsiasi altro dato presente nel foglio di lavoro Dati.

  4. Conferma se i campi metadati nel foglio di lavoro Dati sono tutti presenti come campi metadati nella definizione del set di dati dell'oggetto report. In altre parole, Business Central Server verifica che il contratto di dati sia valido. Se non lo è, Business Central Server rifiuta il layout.

Esecuzione di un report con un layout Excel

Quando si esegue un report con un layout Excel, Business Central Server esegue le seguenti operazioni:

  1. Genera il set di dati come specificato nella definizione del set di dati nell'oggetto report e come modificato dai filtri e dalle opzioni della pagina di richiesta.

  2. Carica il file di layout Excel.

  3. Inserisce i dati nella tabella Dati nel foglio di lavoro Dati nel file di layout Excel.

  4. Fornisce all'utente la cartella di lavoro Excel unita per il download o la visualizzazione in Excel Online se abilitato dall'amministratore del tenant. Per altre informazioni sulla visualizzazione degli output di Excel in Excel Online, visitare Salvare file di report e cartelle di lavoro di Excel in OneDrive.

Modifica del contratto di dati dopo aver aggiunto nuove colonne al set di dati del report

Se si aggiunge nuove colonne al set di dati del report dopo aver creato layout Excel, i contratti di dati nei layout non vengono aggiornati automaticamente. Ma non è necessario ricreare i layout da zero, è possibile aggiungere manualmente le nuove colonne alla riga di intestazione nel foglio di lavoro del contratto di dati.

Per uno sviluppatore di report che lavora con il codice AL, forse il modo più semplice per ottenere i nomi delle nuove colonne consiste nell'usare il codice AL per l'oggetto report. Per uno sviluppatore di report che lavora solo in Excel, il modo più semplice per ottenere i nomi delle nuove colonne consiste nell'eseguire il report in Business Central e nella pagina di richiesta, quindi scegliere l'opzione Documento di Microsoft Excel (solo dati). In questo modo, si ottiene una cartella di lavoro di Excel con tutte le colonne nel contratto di dati.

Etichette del report nei layout Excel

Le etichette dei report sono usate dai layout come, ad esempio, intestazione di un campo in una tabella, titolo di un grafico o titolo del report stesso.

Le etichette dei report definite nella sezione Etichette dell'oggetto report e le didascalie incluse nelle colonne degli elementi dati usando la proprietà IncludeCaption sono disponibili nel foglio di lavoro CaptionData in Excel.

Formattazione di dati nei layout Excel

Spesso è preferibile formattare i dati in un report in modo diverso rispetto a come appaiono nelle tabelle, nelle query o nelle pagine. Ad esempio, se un campo decimale in una tabella ha una precisione di cinque cifre, lo stesso livello di precisione potrebbe non essere necessario nel report.

Nello specifico per i layout Excel, esistono molti modi per controllare la formattazione degli elementi dati direttamente in Excel. Per altri esempi su come formattare i dati in Excel, vedere:

Drill-through in Business Central da un layout Excel

Con il drill-through in un layout Excel è possibile creare collegamenti ipertestuali in Business Central da celle di Excel. Quando l'utente del report seleziona la cella, esegue il drill-through nella pagina di destinazione per ottenere dettagli filtrati in quel contesto. Per implementare un collegamento di drill-through, è necessario sapere quale pagina aprire e anche sapere quali filtri applicare a quella pagina. Filtrare i dati visualizzati nella pagina usando il parametro URL del filtro. Il parametro filtro consente di visualizzare record specifici dalla tabella sottostante della pagina.

Uso di caratteri nei layout Excel

La versione online di Business Central contiene caratteri preinstallati sui server da usare durante la generazione dei report. È possibile usare qualsiasi di questi caratteri nel layout.

Per altre informazioni, vedere Caratteri disponibili in Business Central Online.

Uso dei temi dei documenti di Office nei layout Excel

I temi dei documenti di Office semplificano il coordinamento di colori, caratteri ed effetti di formattazione grafica nei layout Word ed Excel e li aggiornano rapidamente.

Per altre informazioni, consultare Modificare un tema e impostarlo come predefinito in Word o Excel.

Uso di formule predefinite con nome nei layout di Excel

Per semplificare l'uso dei dati dai fogli di metadati, le formule con nome sono integrate nelle cartelle di lavoro dei layout di Excel. Anziché essere costretti a sviluppare complicate formule CERCA.VERT o CERCA.X, gli autori dei report possono usare formule con nome, ad esempio ReportRequest.Date o ReportMetaData.ReportHelpLink.