Anzeigen von benutzerdefinierten Symbolen in Dynamics-365-Ansichten

von Published On: 21.04.2021Kategorien: How to, Quick-Tipps0 CommentsTags: , , 5.1 min read
0 Minuten Lesezeit

Teile den Artikel!

Habt ihr schon gewusst, dass in Dynamics-365-Ansichten benutzerdefinierte Symbole neben Optionswerten angezeigt werden können? Wir nutzen das unter anderem bei Leads und Verkaufschancen als visuelle Unterstützung, damit unser Vertrieb in großen Ansichten besser zwischen vielversprechenden und weniger vielversprechenden Leads oder Verkaufschancen unterscheiden kann.

Darüber bin ich das erste Mal beim Durchstöbern der Microsoft Docs gestolpert.

Ich zeige euch heute, wie wir das bei uns ein- und umgesetzt haben.

Icons bereitstellen

Ladet zunächst die gewünschten Symbole als Webressourcen mit entsprechendem Typ hoch. Icons im PNG-Format mit einer Größe von 16×16 Pixel werden hierfür empfohlen, da diese sowohl im klassischen als auch im Unified Interface dargestellt werden können. Bei uns funktioniert das Ganze in Unified Interface mit SVG-Grafiken sehr gut, wobei diese auf jedem Bildschirm und Gerät schön scharf dargestellt werden. Merkt euch die Schema-Namen der Icons – diese werden später noch benötigt.

Logik bereitstellen

Die Logik für die Zuordnung der Symbole zu den Optionswerten muss in JavaScript erbracht werden. Erstellt dazu eine weitere Webressource mit dem Typ Script (JScript). Das Skript muss mindestens eine Funktion enthalten, die später automatisch beim Rendern einer Reihe in der Ansicht aufgerufen wird und die Logik für die Darstellung der Icons in der entsprechenden Spalte übernimmt.

Das System übergibt zwei Parameter an diese Funktion – die Daten aller Spalten der aktuellen Reihe als Array (rowData) und die Sprache des Benutzers als numerischen Wert (userLCID). Aus rowData kann der aktuelle Optionswert der entsprechenden Spalte ausgelesen werden. Über diesen kann dann die Auswertung erfolgen, welches Icon dazu angezeigt werden soll. Weiter kann ein Beschreibungstext spezifiziert werden, der beim Hovern mit der Maus über das Icon in der Ansicht als Tooltip angezeigt wird. Dieser kann auf Basis der userLCID auf die Sprache des aktuellen Benutzers abgestimmt werden. Als Rückgabewert der Funktion erwartet das System ein Array, das an erster Stelle den Schema-Namen der anzuzeigenden Icon-Webressource und an zweiter Stelle den Beschreibungstext für den Tooltip – beides String-Werte – enthält.

Unser Skript hierfür ist beispielhaft nachfolgendem Gist zu entnehmen. Wir haben dabei die zuvor beschriebene Funktion entsprechend parametrisiert und hinterlegen in den jeweiligen Ansichten dann einen der beiden dedizierten Callbacks (siehe nächster Abschnitt).

Mit Ansicht verknüpfen

Wie bereits erwähnt müsst ihr zuletzt noch eure JavaScript-Logik mit der entsprechenden Ansicht und Spalte verknüpfen. Ich habe noch keinen Weg gefunden, dies über die neue Lösungsverwaltung im Browser zu bewerkstelligen. Falls ihr einen kennt, würde ich mich freuen, wenn ihr diesen über Twitter oder in den Kommentaren mit mir teilt! Navigiert andernfalls also über die alten Einstellungen in die Systemanpassung und öffnet die Eigenschaften der entsprechenden Spalte in der Ansicht, in der die Icons angezeigt werden sollen.

Dort hinterlegt ihr die Webressource, die eure JavaScript-Logik enthält und registriert die entsprechende Callback-Funktion aus eurem Skript für die entsprechende Spalte.

Das war’s!

Nun sollten die von euch hinterlegten Icons neben den entsprechenden Optionswerten der Spalte, wie zu Anfangs gezeigt, in der Ansicht erscheinen.

Habt ihr das schon gekannt? Dann würde mich interessieren, wo und wie ihr das bei euch oder euren Kunden schon eingesetzt habt! Oder kennt ihr einen Weg, das über die neue Umgebung zu bewerkstelligen? Ich würde mich freuen, wenn ihr eure Ideen und Tipps mit mir auf Twitter oder in den Kommentaren teilt.

Mit 13 Jahren hat Tobias sich damals das Programmieren beigebracht und ist seither fasziniert von Computern, Programmiersprachen und der Softwareentwicklung. Angefangen mit Visual Basic und C hat er sich dann im Laufe seines Informatikstudiums immer mehr mit C#, .NET und Microsoft-Technologien auseinandergesetzt. Mittlerweile verwirklicht er sich im Cloud-Umfeld bei der Objektkultur Software GmbH. Dort ist er auf das Customizing von Dynamics 365 CRM sowie die Entwicklung von Software und Lösungen in Azure fokussiert. Dabei wird er immer wieder mit spannenden Themen und Problemen konfrontiert, die er in diesem Blog gerne mit euch teilen möchte. Tobias ist ein Fan von Open-Source-Software, liebt Linux gleichermaßen wie Microsoft und interessiert sich zudem für IT-Security. In seiner Freizeit spielt er außerdem leidenschaftlich Schach.

+2

Teile den Artikel

Leave A Comment

Mit 13 Jahren hat Tobias sich damals das Programmieren beigebracht und ist seither fasziniert von Computern, Programmiersprachen und der Softwareentwicklung. Angefangen mit Visual Basic und C hat er sich dann im Laufe seines Informatikstudiums immer mehr mit C#, .NET und Microsoft-Technologien auseinandergesetzt. Mittlerweile verwirklicht er sich im Cloud-Umfeld bei der Objektkultur Software GmbH. Dort ist er auf das Customizing von Dynamics 365 CRM sowie die Entwicklung von Software und Lösungen in Azure fokussiert. Dabei wird er immer wieder mit spannenden Themen und Problemen konfrontiert, die er in diesem Blog gerne mit euch teilen möchte. Tobias ist ein Fan von Open-Source-Software, liebt Linux gleichermaßen wie Microsoft und interessiert sich zudem für IT-Security. In seiner Freizeit spielt er außerdem leidenschaftlich Schach.

+2