Dynamics 365 for Finance and Operations – Geheimnisse der URL-Parameter

Aufgepasst – heute wird’s technisch. Wir richten uns mit diesem Blogbeitrag ganz konkret an jene Mitarbeiter in Ihrem Unternehmen, die sich ganz intensiv mit der Einrichtung von Dynamics 365 for Finance and Operations (= „D365FO“) beschäftigen. Oder die sich technisch um Microsoft Dynamics AX kümmern und wissen wollen, was alles möglich wird durch den Einsatz von Dynamics 365!

Die wichtigste Frage gleich am Anfang vorweg: Warum sollten Sie die URL-Parameter meiner Meinung nach nutzen? Durch den Einsatz der URL-Parameter erhält man als Dynamics 365 Benutzer die Möglichkeit, einen direkten Zugriff auf seine Formulare und deren Informationen zu gestalten. Mir persönlich gefallen diese Parameter sehr gut, da ich hier großes Potential in D365FO Lösungen mit mehreren Mandanten sehe.

Der neu verwendete attraktive HTML-5 Client von D365FO läuft ja bekanntlich vollständig im Browser. Somit können auch Teile der Benutzeroberflächennavigation über die URL-Parameter realisiert und durch den Benutzer individuell erweitert werden. Solche URL-Parameter sind zusätzliche Befehle die über die URL gesendet werden, um die Funktionsweise der Webanwendung zu erweitern.

In diesem Blogbeitrag möchte ich gerne auf die Realisierung der D365FO URL-Parameter näher eingehen.

Syntaxaufbau

Die D365FO Standard-URL (z.B.: https://NAVAX_D365FO.cloudax.dynamics.com/) kann wie folgt in deren Struktur individuell erweitert werden:
Vor dem ersten URL-Parameter muss mit einem Fragezeichen („?“) die URL erweitert werden, alle weiteren werden mit Und-Operatoren („&“) versehen. Dem URL-Parameter kann ein Wert oder ein Attribut zugewiesen werden, der durch das Gleichheitszeichen („=“) getrennt wird.
z.B.: https://NAVAX_D365FO.cloudax.dynamics.com/?URLParameter1=Wert&URLParameter2=Wert&URLParameter3=Attribut…

Parameter und Werte

Hier eine Auflistung der möglichen Parameter:

prt=PartitionId
Der Parameter prt kann verwendet werden um die interne partition anzugeben. Zu beachten ist hierbei dass nicht die RecId sondern die ID der Partition als Wert verwendet wird. Standardmäßig ist hier prt=initial vorbelegt.

cmp=CompanyId
Der Parameter cmp kann als Default Unternehmen festgelegt werden, auf die der Benutzer standardmäßig unter „Benutzeroptionen -> Voreinstellungen -> Start -> Unternehmen“ eingestellt ist. Dieser kann verwendet werden, um dies zu überschreiben und direkt auf eine legale Entität zuzugreifen. Wenn viele Unternehmen vorhanden sind, kann so schnell und einfach eine Abkürzung für jedes Unternehmen erstellt werden.

Information: Der URL-Parameter cmp wird standardmäßig in der URL angezeigt und verwendet.

f=FormName
Der Parameter f kann verwendet werden um direkt zu einem Formular innerhalb von D365FO zu gelangen. Es muss hier lediglich der Name der Form als Wert mit angegeben werden. D365FO leitet dann den Aufruf direkt an das dazugehörige Menüpunkt weiter und aktualisiert die URL automatisch den Anforderungen.

Einige Formulare besitzen keine Menüpunkte, z.B. „SysTableBrowser“ oder „jmgWorkPlanner“. Solche Formulare müssen mit dem Parameter f aufgerufen werden. Dies ersetzt den Default Parameter mi.

Als Beispiel hier der URL-Auszug für den Aufruf der Arbeitsplanung: ?cmp=USMF&f=jmgWorkPlanner

mi=MenuItemName
Der Parameter mi ist die Abkürzung für MenuItem und ermöglicht dem Benutzer den direkten Zugriff auf einen Menüpunkt innerhalb von D365FO. Es wird hier einfach der Wert als Parameter mitübergeben. Basierend auf den Benutzereinstellungen gibt es bereits vordefinierte mi Parameter, diese lauten: DefaultDashboard, SystemAdministrationWorkspace, EssentialsDashboard

Information: Der URL-Parameter mi wird standardmäßig in der URL angezeigt und verwendet.

lng=LanguageId
Der Parameter lng kann für eine Standard-Benutzersprache unter „Benutzeroptionen -> Voreinstellungen -> Start -> Sprach- und Länder-Regionsvoreinstellungen“ festgelegt werden. Dies ist sehr hilfreich um schnell und unkompliziert zwischen Sprachen wechseln zu können, gerade bei Benutzereinschulungen und Supportfällen.

Als Beispiel hier der URL-Auszug für den Aufruf in Englischer Sprache: ?cmp=USMF&mi=DefaultDashboard&lng=en-us

limitednav=true
Der Parameter limitednav (mit festem Wert = true) entfernt alle Menüs und deren Navigationsmöglichkeiten innerhalb von D365FO. D.h. der Benutzer sieht nur die geöffnete Maske oder seine berechtigten Workspaces (Einsatzgebiet unter anderm in der Cloud-POS).

debug=true
Der Parameter debug hat verschiedene Ausprägungen.
Die Standardfunktionalität kann mit dem Wert true oder develop eingestellt werden, dies gibt dem Benutzer die Möglichkeit D365FO zu debuggen. Mit aktiviertem Debugging erhält man eine Anzeige der benötigten Zeit für das Öffnen eines Formulars in der Menüleiste rechts oben. Durch Klicken auf diese neue Anzeige erhält der Benutzer detaillierte Performanceinformationen zu dem Formular.

Wird der Parameter mit dem Wert vs%2CconfirmExit verwendet, wird zusätzlich noch einen Sicherheitsabfrage angezeigt, wenn der Benutzer den Browser schließt.

activityid=12345678-67dc-0003-b5f3-a9ab1337d101
Der Parameter activityid ist für interne Zwecke bestimmt und wird in Verbindung mit Troubleshooting Support verwendet.

hideSplash=true
Mit dem Parameter hideSplash kann der Begrüßungsbildschirm übersprungen werden. Wird dieser verwendet wird das Default Dashboard ein wenig schneller geladen.

theme=[ThemeID]
Der Parameter theme wählt die Design-ID Nummer der zur Verfügung gestellten Farbpalette aus. Gleich dem, was in den Benutzeroptionen ausgewählt werden kann. Ich persönlich finde den Parameter sehr hilfreich, da somit leicht pro Company (= „cmp“) eine eigene Farbgestaltung erreicht werden kann.density={21,30}
Der Parameter density, also Dichte ist für eine Darstellugnsoptimierung der D365FO Applikation für den Desktop und für das Tablet ausgerichtet. Der Wert ist also für verschiedene Arten der Pixeldichte zuständig. Wählt man Hoch (= 21) so eignet sich diese Anzeige am besten für den Desktop Einsatz, wählt man Niedrig (= 30) so ist die Darstellung optimal für ein Tablet. Als Beispiel hier der URL-Auszug für den Aufruf auf einem Desktop: ?density=21

Mode={trial,mobile}
Der Parameter Mode greift auf erweiterte Funktionen von D365FO zu. Wird der Wert trial angegeben, so startet eine „Testversion“ und der Wert mobile gibt dem Benutzer die Möglichkeit auf Funktionen für das Erstellen von mobilen Anwendungen zu zugreifen. Die Erweiterungen mit dem Parameter fällt jedoch sehr minimal aus.

q=[queryString]
Der Parameter q kann für eine URL-Änderung herangezogen werden. Wenn unter „Benutzeroptionen -> Voreinstellungen -> Start -> Sonstiges“ die Checkbox „URL-Änderungen“ aktiviert ist, so erzeugt bei jedem Filtern einer Liste der URL Generator das dazugehörige Statement. Dies gibt dem Benutzer die Möglichkeit zu bestimmten Formularen den URL Generator zu ändern und somit benutzerdefinierte Links zur Verfügung zu stellen.

Detaillierte Information dazu – siehe: https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/user-interface/create-deep-links

Kombinierte Werte

Manche Parameter bedürfen auch einer Kombinationen, um korrekt zu funktionieren.

&mi=SysClassRunner&cls=ClassName
Wird das Menüitem SysClassRunner verwendet, so erlaubt dies eine direkte Ausführung einer Klasse innerhalb von D365FO. Zusätzlich muss hier noch der Name der ausführbaren Klasse als cls Parameter in Kombination mitübergeben werden.

&mi=output%3AOutputMenuItem
Ein ganz interessante Möglichkeit stellt diese Kombination dar. Hiermit kann ein Bericht direkt ausgeführt werden. Der Wert muss mit einem Output-Menüitem versehen werden um den gewünschten Bericht direkt zu addressieren.

Tabellen-Browser für D365FO im Browser öffnen

Auch der interne Tabellen-Browser für die Darstellung der Datenbankinhalte einer Tabelle kann direkt in den URL-Parametern mitübergeben werden. Gerade in der Entwicklung und in Supportfällen kann dies eine schnelle und effiziente Lösung sein, um schnell an Daten in D365FO zu kommen.

Dabei handelt es sich um einen Speziallfall der Form Darstellung. Dieser beinhaltet den Parameter mi mit dem Wert SysTableBrowser und zusätzlich noch den Parameter tableName=[TableID].

Als Beispiel hier der URL-Auszug für den Aufruf des Tabellen-Browser der Kundentabelle (= „CustTable“): ?cmp=USMF&mi=SysTableBrowser&tableName=CustTable

Chrome Erweiterung – Tabellen-Browser für D365FO

Für eine visuelle Darstellung mit einer Auswahlmöglichkeit an vorhanden D365FO Tabellen gibt es eine Erweiterung im Browser die ebenfalls implementiert werden kann. Diese Erweiterung gibt es im Chrome – Browser und stellt detaillierte Informationen von Tabellen + Entities zur Verfügung.

Siehe Chrome-Store: https://chrome.google.com/webstore/detail/table-browser-caller-for/nahbldacmaibopfiiaoboloegpobpccnWie eingangs erwähnt, gefallen mir persönlich diese Parameter wirklich gut, da sich D365FO großartig personalisieren lässt, vor allem, wenn man mit mehreren Mandanten arbeitet. Die Vorteile liegen in der schnellen Anpassung der URL, um damit die Funktionsweise der D365FO Webanwendung individuell den Benutzeranforderungen anpassen zu können.

Autor: Philipp Mayrhofer

Philipp Mayrhofer arbeitet seit 2010 als Softwarearchitekt im Bereich Microsoft Dynamics 365 for Finance & Operations (ehemals AX). Davor sammelte er über 10 Jahre Erfahrung im SAP Umfeld, Schwerpunktmäßig zum Thema ERP & SQL. In seiner Freizeit ist Phillipp sehr sportlich unterwegs: Laufen, Mountainbiken und Snowboarden zählen zu seinen größten Leidenschaften.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.