Creazione di una nuova estensione Business Central in Visual Studio Code

Completato

Tutte le funzionalità in Dynamics 365 Business Central sono codificate negli oggetti. Per modificare oggetti esistenti, quali tabelle, pagine e così via, è necessario creare estensioni. Le estensioni fanno parte di un modello di programmazione basato su oggetti. Si possono creare nuovi oggetti o estendere quelli esistenti a seconda del compito dell'estensione. Un'estensione definisce funzionalità aggiuntive che modificano il comportamento dell'applicazione Business Central.

Tutti gli oggetti vengono archiviati come codice, noto come codice Application Language (codice AL). Ogni oggetto viene salvato in file con estensione .al. È possibile inserire più oggetti in un singolo file .al, anche se è consigliabile usare un singolo file per ogni oggetto.

Usando l'estensione del linguaggio AL per Visual Studio Code, si ottengono i vantaggi di un ambiente di sviluppo moderno oltre all'integrazione delle funzionalità di pubblicazione, debug e implementazione con Business Central.

Dopo aver compilato l'estensione, si ottiene un file di pacchetto .app da distribuire in Business Central Server. È inoltre possibile inviare il pacchetto di estensione ad AppSource e offrire la soluzione a migliaia di potenziali clienti in tutto il mondo.

Dopo aver installato l'estensione AL in Visual Studio Code, si può iniziare a creare estensioni per Business Central seguendo questi passaggi:

  1. Aprire Visual Studio Code.

  2. Selezionare Visualizza nella barra dei menu, quindi selezionare Riquadro comandi. È possibile usare anche i tasti di scelta rapida CTRL+MAIUSC+P.

  3. Nel menu che viene visualizzato immettere AL: Go, quindi selezionare il comando AL: Go! (o usare i tasti di scelta rapida ALT+A ALT+L). Questa azione consente di creare una nuova estensione AL.

    Screenshot dell'immissione del comando AL Go nel menu.

  4. Fornire un percorso in cui archiviare i file di codice dell'estensione. Visual Studio Code suggerisce un percorso nella cartella Documenti.

  5. È possibile usare l'estensione del linguaggio AL per sviluppare estensioni per versioni diverse di Business Central. Visual Studio Code chiede di selezionare la versione di destinazione. Ad esempio, è possibile selezionare Business Central 2022 versione 10.0, ciclo di rilascio 2.

    Screenshot della selezione della piattaforma di destinazione.

  6. Selezionare l'istanza a cui connettersi per sviluppare e testare l'estensione. Selezionare Microsoft cloud sandbox se ci si connette alla sandbox cloud online oppure selezionare Server personale se si usa un contenitore Docker o una versione locale. Selezionare Microsoft cloud sandbox se si intende configurare questa istanza per completare questo modulo, poiché si usa una sandbox cloud online per completare gli esercizi.

    Screenshot della selezione del percorso server.

È necessario fornire le proprie credenziali utente per connettersi alla sandbox cloud.

Visual Studio Code non sa quali oggetti (tabelle, pagine e così via) sono già disponibili in Business Central. Pertanto, dopo aver fornito le credenziali, Visual Studio Code tenta di scaricare i simboli di riferimento. Questi simboli sono file .app che vengono scaricati in una cartella .alpackages nella cartella Estensione AL. I simboli contengono riferimenti su come sono strutturati gli oggetti. Ad esempio, indicano quali campi sono definiti in una tabella cliente, come è definito il layout di una scheda fornitore e così via.

Prima di iniziare lo sviluppo, assicurarsi di aver scaricato questi file di simboli. Se Visual Studio Code non ha scaricato i simboli automaticamente, è possibile chiedere a Visual Studio Code di scaricarli dalla sandbox cloud.

Per scaricare i simboli, seguire questi passaggi:

  1. Selezionare Visualizza nella barra dei menu, quindi selezionare Riquadro comandi. In alternativa, è possibile usare i tasti di scelta rapida CTRL+MAIUSC+P.

  2. Nel menu visualizzato immettere AL: Download Symbols, quindi selezionare il comando AL: Download Symbols.

  3. Il download dei simboli può richiedere alcuni minuti. Al termine del download dei simboli, sarà presente una nuova cartella, .alpackages, in Esplora file. La cartella contiene almeno quattro file .app:

    • Application

    • Applicazione di base

    • Applicazione di sistema

    • System

    Screenshot dei simboli dei pacchetti AL scaricati.

    Nella finestra di output di Visual Studio Code un messaggio indica che Tutti i simboli di riferimento sono stati scaricati.

  4. Se Visual Studio Code ha riscontrato un errore, è possibile visualizzare l'errore nella finestra di output. È possibile aprire la finestra di output selezionando Visualizza > Output o usando i tasti di scelta rapida CTRL+MAIUSC+U.

  5. Per distribuire l'applicazione, premere il tasto F5 e attendere l'avvio dell'applicazione Business Central nel Web browser predefinito. Se non si verificano problemi, dovrebbe essere visibile il seguente messaggio: App pubblicata: Hello world.

  6. Se si torna all'applicazione Visual Studio Code, sarà presente una barra degli strumenti aggiuntiva che indica che è attiva la modalità debug. Premere F5 in Visual Studio Code per distribuire e avviare il debugger. Per interrompere la sessione di debug, è possibile selezionare l'icona rossa Interrompi.

    Screenshot della barra degli strumenti del debugger di Visual Studio Code.

Quando si crea una nuova estensione con AL: Go!, un file HelloWorld.al viene sempre generato per impostazione predefinita. Questo file contiene il codice che visualizza la finestra di messaggio dell'esempio precedente. L'estensione del file .al indica che questo file contiene codice AL. Si consiglia di eliminare questo file ogni volta che si avvia una nuova estensione.

File Microsoft_Application.app

Il file Microsoft_Application.app è incluso in Business Central e si trova nella cartella \Applications\Application\Source. Il file Microsoft_Application.app incapsula logicamente tutte le estensioni che costituiscono una soluzione, ad esempio la versione 16.0.0.0 dei file del pacchetto dell'applicazione di base e di sistema, e fornisce un modo pratico per definire e fare riferimento a questa identità della soluzione.

Nelle versioni precedenti i riferimenti all'applicazione di base e di sistema erano indicati esplicitamente nelle dipendenze nel file app.json dell'estensione. Ora è invece necessario usare la proprietà Versione applicazione nel file app.json.

Il nome file del riferimento è Microsoft_Application.app e nel file app.json del file del pacchetto dell'applicazione il nome è Application. Per le applicazioni di base con codice personalizzato che hanno il proprio appId, il file Microsoft_Application.app può essere modificato per fare riferimento all'appId delle applicazioni di base con codice personalizzato. Ciò consente a qualsiasi estensione che dipende dall'applicazione di risolversi nell'appId personalizzato.

Quando si inizia un nuovo progetto AL in Visual Studio Code usando il modello AL:Go, le istruzioni di codice WITH implicite sono ora disattivate per impostazione predefinita per incoraggiare l'uso delle istruzioni WITH esplicite. A tal fine, aggiungere l'opzione NoImplicitWith alla proprietà features nel file app.json generato.

Archiviazione dei file dell'app

Per impostazione predefinita, quando si creano progetti AL, il file dell'app di output viene archiviato nella cartella del progetto. Tuttavia, se si lavora su più app che non si trovano nella stessa area di lavoro e dipendono l'una dall'altra, l'output in una cartella dell'app condivisa può essere un vantaggio.

Nelle impostazioni al.compilerOptions, è ora possibile usare la proprietà outFolder per specificare quale cartella di output usare quando si genera un file dell'app durante la creazione di un progetto AL.

In questo modo, si semplifica la gestione e il riutilizzo delle app generate in un'unica posizione. Il progetto AL in Visual Studio Code contiene ancora un nodo per il file di output, tuttavia il file viene archiviato fisicamente all'esterno della cartella del progetto.

Ecco un esempio di salvataggio dei file dell'app creata in "myappfolder" sull'unità C dell'utente.

Screeshot di un esempio di salvataggio dei file dell'app creata in

Percorso cartelle predefinito

L'estensione del linguaggio AL per Microsoft Dynamics 365 Business Central ha un comando per generare un nuovo progetto AL. Fin dall'inizio, il percorso cartelle dei progetti è stato fissato nella cartella Documenti degli utenti in Windows. In base alle richieste, si pensa di offrire la possibilità ai partner di definire un percorso predefinito diverso per i progetti AL nelle impostazioni, semplificando il flusso di lavoro di creazione del progetto.

Esiste un'impostazione al.algoSuggestedFolder per specificare il percorso cartelle predefinito per i nuovi progetti AL. Questa impostazione può essere specifica dell'utente o dell'area di lavoro e garantisce maggiore flessibilità nel collocare i nuovi progetti.

Screenshot dell'impostazione cartelle suggerita che specifica il percorso cartelle predefinito.