Dokumentation
Einstellungen und Vorschauprofile
Konfiguriere AL Report Creator in VS Code. Die Referenz erklärt Extension-Einstellungen, Preview-Profile, Launch-Overrides und CRS-Optionen.
Auf dieser Seite
Einstellungen
Die folgenden Einstellungen können benutzerweit oder im Workspace in settings.json gesetzt werden. Workspace-Einstellungen haben Vorrang und sollten verwendet werden, wenn ein Wert für alle Entwickler eines Projekts gelten soll.
Einstellungen von AL Report Creator
| Einstellung | Standard | Zulässige Werte und Bedeutung |
|---|---|---|
al-report-creator.columnNamePattern | {FieldName}_{DataItemName} | Muster für Dataset-Spalten. Platzhalter: {DataItemName}, {FieldName}, {TableName}, {FieldId}, {DataItemIndex}. Wirkt auf die Namensvorschläge des Wizards. |
al-report-creator.rdlcFileExtension | .rdlc | .rdlc oder .rdl; bestimmt die Dateiendung neu erzeugter RDLC-Layouts. |
al-report-creator.wizard.historyLimit | 10 | 0 bis 100; Anzahl automatisch aufbewahrter Wizard-Stände pro AL-Projekt. 0 deaktiviert die Historie. |
al-report-creator.preview.displayMode | vscode | vscode öffnet den Preview als VS-Code-Tab; externalBrowser verwendet den Systembrowser. Ein VS-Code-Tab kann in ein separates Fenster verschoben werden. |
al-report-creator.preview.rapidDeployBeforeRender | true | Publisht einen geänderten AL-Report vor dem Rendern automatisch. Bei false wird ohne automatisches Publish gerendert. |
al-report-creator.preview.renderTimeoutSeconds | 120 | 10 bis 3600; maximale Wartezeit für die Berichtserzeugung. |
al-report-creator.preview.defaultFormatRegion | local | local, service oder ein IETF-Sprachcode wie de-DE; bestimmt Sprache und regionale Formatierung des Preview. |
al-report-creator.preview.defaultZoomMode | fit-page | custom, fit-page oder fit-width; Startansicht des Viewers. |
al-report-creator.preview.defaultZoomLevel | 100 | 25 bis 300; Zoom in Prozent bei defaultZoomMode: custom. |
al-report-creator.preview.defaultSpreadMode | single | single für eine Seite pro Zeile, two für zwei Seiten nebeneinander. |
al-report-creator.preview.serviceDownloadUrl | https://bc365.app/arc | Downloadseite, die bei fehlender oder veralteter Preview Service App angeboten wird. |
al-report-creator.preview.rdlcDiagnostics.serviceUrl | leer | URL des gehosteten RDLC-Diagnosedienstes für genaue Compilerfehler, unter anderem bei RequestMinimum. |
al-report-creator.preview.rdlcDiagnostics.localWorkerPath | leer | Maschinenbezogener Entwicklungspfad zu einem lokalen RDLC-Compilerworker. Dieser Worker ist nicht Bestandteil des produktiven VSIX-Pakets. |
al-report-creator.preview.profiles | [] | Liste expliziter Preview-Verbindungsprofile. In Projekten sollte möglichst die vorhandene launch.json mit launchOverrides verwendet werden. |
al-report-creator.preview.launchOverrides | {} | Preview-spezifische Ergänzungen zu AL-Launchkonfigurationen. Der Schlüssel muss exakt dem name der jeweiligen Konfiguration entsprechen. |
Preview-Profile und Launch-Overrides
Ein Profil beziehungsweise Override kann folgende Werte enthalten:
| Feld | Bedeutung |
|---|---|
kind | onPrem oder cloud. |
baseUrl | Vollständige OData-Basisadresse; überschreibt Server, Port und Instanz. |
server, serverInstance, port, odataPort | On-Premises-Verbindungswerte. Wenn baseUrl keinen Port enthält, ist der OData-Port erforderlich; häufig ist dies 7048. |
tenantId / tenant, environmentName | Mandant und Umgebung für Business Central Online. |
company | Standardmandant. Fehlt er, versucht die Extension eine Auswahlliste aus Business Central zu laden. |
username | Benutzername für UserPassword; das Passwort liegt separat in SecretStorage. |
clientId, tokenUrl, scope | OAuth-Konfiguration. tokenUrl und scope sind nur bei abweichenden Entra-Konfigurationen erforderlich. |
previewServiceName | OData-Aktion des Preview-Dienstes; Standard ist RDLCPreview_GenerateReportPreviewBase64. |
auth.mode | userPassword, windows, oauthInteractive oder oauthClientCredentials. |
Beispiel für eine On-Premises-Konfiguration:
{
"al-report-creator.preview.launchOverrides": {
"BC OnPrem": {
"kind": "onPrem",
"odataPort": 7048,
"company": "CRONUS AG",
"username": "sp",
"auth": { "mode": "userPassword" }
}
}
}
BC OnPrem muss exakt dem name der zugehörigen AL-Konfiguration in launch.json entsprechen.
Berücksichtigte Einstellungen der AL Language Extension und von CRS
AL Report Creator berücksichtigt vorhandene Projekteinstellungen, damit neu erzeugte Dateien zur Struktur des AL-Projekts passen.
| Fremde Einstellung | Auswirkung |
|---|---|
al.rootNamespace | Basis für den vorgeschlagenen Namespace neuer Reports und Puffertabellen. |
al.namespaceTemplate | Vorlage für die Ableitung des Namespace aus der Projekt- beziehungsweise Ordnerstruktur. |
al.packageCachePath | Zusätzliche Verzeichnisse, in denen Abhängigkeitspakete und deren Symbole gesucht werden. .alpackages wird ebenfalls berücksichtigt. |
CRS.ObjectNamePrefix | Wird bei Vorschlägen für neue Objekt- und Dateinamen als Präfix verwendet. |
CRS.ObjectNameSuffix | Wird bei Vorschlägen als Suffix verwendet. |
CRS.FileNamePattern | Bestimmt die vorgeschlagene Benennung erzeugter AL-Dateien. |
CRS.AlSubFolderName | Bestimmt den AL-Unterordner, in dem neue Dateien vorgeschlagen werden. |
CRS.ReorganizeByNamespace | Bezieht den Namespace in die vorgeschlagene Ordnerstruktur ein. |
CRS.OnSaveAlFileAction | Wird bei installierter CRS-Extension berücksichtigt, damit deren automatische Dateiorganisation nicht durch widersprüchliche Vorschläge umgangen wird. |
Die daraus berechneten Namen, Namespaces und Pfade werden im Wizard angezeigt und können vor dem Erzeugen der Dateien geprüft beziehungsweise geändert werden. al-report-creator.columnNamePattern betrifft ausschließlich Dataset-Spalten; CRS-Einstellungen betreffen dagegen Objekt- und Dateinamen sowie die Ablagestruktur.
OAuth: Preview mit Business Central verbinden
OAuth ist die Anmeldung über Microsoft Entra ID. AL Report Creator erhält dabei einen zeitlich begrenzten Zugangsschlüssel (Token), mit dem die Vorschau und der Dataset Viewer auf Business Central zugreifen. Dein Microsoft-Passwort gibst Du nur bei Microsoft ein. Diese Verbindung ist unabhängig von Deinem AL-Report-Creator-Konto und dessen API-Key.
Die folgenden Schritte gelten für Business Central Online. In der Zielumgebung muss die Preview Service App installiert sein; starte dafür ALRC: Manage Preview Service. Für die einmalige Einrichtung der Microsoft-App benötigst Du Unterstützung durch Eure Entra-/Business-Central-Administration.
Welche Anmeldung passt?
- Mit Deinem Microsoft-Konto (oauthInteractive): Für die normale Arbeit in VS Code. Du meldest Dich im Browser an; Business Central verwendet Deine Benutzerberechtigungen.
- Mit einem Anwendungskonto (oauthClientCredentials): Die Verbindung verwendet eine registrierte App und ein Client Secret statt Deiner persönlichen Anmeldung. Die App benötigt eigene Berechtigungen in Business Central.
1. Anmeldung mit Deinem Microsoft-Konto vorbereiten
- Die Administration registriert im Microsoft Entra Admin Center unter App-Registrierungen eine App für Euer Organisationsverzeichnis. Notiere die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandant) aus der Übersicht.
- Unter Authentifizierung → Erweiterte Einstellungen wird Öffentliche Clientflows zulassen aktiviert. Der hier verwendete Device-Code-Flow benötigt keine Umleitungs-URL und kein Client Secret.
- Unter API-Berechtigungen wird für Dynamics 365 Business Central die delegierte Berechtigung
user_impersonationhinzugefügt. Die Administration erteilt die in Eurer Organisation erforderliche Zustimmung. - Dein BC-Benutzer benötigt Zugriff auf die Umgebung, den gewünschten Mandanten und die Berichtsdaten sowie den Berechtigungssatz
SPO ARC PREVIEW.
2. VS Code konfigurieren
Ergänze in .vscode/settings.json das folgende Objekt in den vorhandenen Einstellungen. BC Cloud Sandbox muss exakt dem name Deiner AL-Konfiguration in .vscode/launch.json entsprechen. Ersetze die Beispiel-IDs durch die Werte aus Entra und Sandbox durch den Namen Deiner BC-Umgebung.
{
"al-report-creator.preview.launchOverrides": {
"BC Cloud Sandbox": {
"kind": "cloud",
"tenantId": "11111111-1111-1111-1111-111111111111",
"environmentName": "Sandbox",
"clientId": "22222222-2222-2222-2222-222222222222",
"auth": { "mode": "oauthInteractive" }
}
}
}
tenantId bezeichnet hier Euer Microsoft-Verzeichnis, nicht den BC-Mandanten wie „CRONUS“. Den BC-Mandanten wählst Du beim ersten Zugriff aus; alternativ trägst Du dessen Namen als company im Profil ein. tokenUrl und scope kannst Du bei dieser Standardkonfiguration weglassen.
3. Erste Vorschau öffnen
- Öffne einen AL-Report und starte
ALRC: Preview Report. - VS Code zeigt einen Anmeldecode und den Einstieg zur Microsoft-Anmeldung. Wähle Open Browser, gib dort bei Bedarf den angezeigten Code ein und melde Dich mit Deinem BC-Benutzer an. Bestätige gegebenenfalls die Mehrfaktor-Anmeldung.
- Wechsle zurück zu VS Code und wähle bei Bedarf den BC-Mandanten. Anschließend wird die Vorschau geladen.
Das Access Token wird in VS Code SecretStorage gespeichert. Nach seinem Ablauf ist eine erneute Anmeldung erforderlich. Eine automatische Erneuerung per Refresh Token ist derzeit nicht implementiert, auch wenn der angeforderte Standard-Scope offline_access enthält.
Alternative: Anwendungskonto mit Client Secret
Die Administration registriert eine App, erstellt unter Zertifikate & Geheimnisse ein Client Secret und gewährt die Anwendungsberechtigung API.ReadWrite.All für Business Central samt Administratorzustimmung. In BC wird dieselbe Client-ID unter Microsoft Entra-Anwendungen aktiviert und erhält SPO ARC PREVIEW sowie die benötigten Berichtsdaten-Berechtigungen. Für Preview-Webservice-Aufrufe ist Automation.ReadWrite.All nicht erforderlich.
Verwende im obigen Beispiel die IDs dieser App und ändere ausschließlich den Anmeldemodus:
"auth": { "mode": "oauthClientCredentials" }
AL Report Creator fragt beim ersten Zugriff nach dem Wert des Client Secrets (nicht nach dessen ID) und speichert ihn in SecretStorage. Trage das Secret niemals in settings.json oder launch.json ein. Es gibt bei dieser Variante keine Browseranmeldung; die Extension fordert das Token mit dem gespeicherten Secret an. Behalte das Ablaufdatum des Secrets im Blick.
Wenn die Anmeldung nicht klappt
- App nicht gefunden: Prüfe
tenantIdundclientId; beide müssen zur vorgesehenen Registrierung gehören. - Zustimmung fehlt oder Device Code ist gesperrt: Lass die API-Berechtigungen, öffentlichen Clientflows und Anmelderichtlinien durch Eure Administration prüfen.
- Anmeldung erfolgreich, Zugriff verweigert: Prüfe die BC-Berechtigungen des Benutzers beziehungsweise der App, den BC-Mandanten und die installierte Preview Service App.
- Client Secret ungültig: Prüfe, ob der Secret-Wert statt der Secret-ID verwendet wurde und ob das Secret noch gültig ist.
On-Premises benötigt eine passend eingerichtete Entra-Anbindung des BC-Servers; die Cloud-Konfiguration oben allein reicht dafür nicht aus. Weiterführend: Microsoft: öffentliche Clientflows, Microsoft: Anwendungskonten für Business Central.