Beispiel: Erweitern des Kartentyps des Assistenten (benutzerdefinierte Karte)
Erfahren Sie, wie Sie herunterladen und welche Ressourcen vorhanden sind, um benutzerdefinierte Aktionen zu erstellen, oder wie Sie die Aktionskarte des Assistenten erweitern.
Lizenz- und Rollenanforderungen
Anforderungstyp | Sie benötigen |
---|---|
Lizenz | Dynamics 365 Sales Premium Weitere Informationen: Dynamics 365 Sales-Preise. |
Sicherheitsrollen | Systemanpasser Weitere Informationen: Vordefinierte Sicherheitsrollen für Vertrieb |
Erstellen einer benutzerdefinierten Aktionskarte
Der folgende Prozess erläutert, wie Sie eine benutzerdefinierte Karte erstellen:
- Schritt 1: Herunterladen der Erweiterungslösung des Kartentyps des Assistenten
- Schritt 2: Erstellen der Lösung (ExtPkgDeployer.sln)
- Schritt 3: Importieren des Pakets mithilfe des Package Deployer-Tools
- Schritt 4: Überprüfen des neuen Kartentyps
- Schritt 5: Erstellen einer Aktionskarte für den neuen Kartentyp mithilfe der Web-API
- Schritt 6: Überprüfen der neuen benutzerdefinierten Karte
Voraussetzungen
Überprüfen Sie die Voraussetzungen, bevor Sie die angepassten Karten in der Organisation erstellen:
Sie benötigen das Tool Package Deployer (packagedeployer.exe), um Pakete bereitzustellen. Zum Herunterladen des Paketbereitstellers siehe Download-Tools unter NuGet".
Zur Verwendung dieser Funktion müssen Sie eine Dynamics 365 Sales Insights-Lizenz erwerben oder eine Testversion starten, um die Sales Insights-Funktionen nutzen zu können.
Schritt 1: Herunterladen der Erweiterungslösung des Kartentyps des Assistenten
Laden Sie die Beispiellösung der benutzerdefinierten Karte herunter.
Die Beispiele veranschaulichen, wie Sie eine benutzerdefinierte Karte im Assistenten programmgesteuert erstellen.
Wechseln Sie zum Pfad ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources
. Im Ordner WebResources können Sie drei Dateien sehen, die erforderlich sind, um eine benutzerdefinierte Karte zu erstellen.
Schemadefinition (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)
Befehl (new_commands8db43275-0291-401d-923a-90a6c373cc18)Befehl
Icon (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)
Schema-Definition (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)
Enthält die Schemadefinition für den neuen Kartentyp.
Notiz
Stellen Sie sicher, dass der ID-Wert des Kartentyps größer als 10000 ist.
<?xml version="1.0" encoding="utf-8" ?>
<entity name="cardtype" displayname="Action Card Type">
<cardname>Extensibility Example</cardname>
<cardtypeid>2183dfc0-3c1c-45b7-a331-1943880c25c6</cardtypeid>
<cardtype>11000</cardtype>
<cardtypeicon>webresources/new_msicon</cardtypeicon>
<softtitle>Extensibility Example</softtitle>
<summarytext>RA Card Extensibility Example</summarytext>
<actions>{"WebClient":{"Actions":{"Open":"Mscrm.HomepageGrid.actioncard.CardCommand"},"Default":{"Open":"Mscrm.HomepageGrid.actioncard.CardCommand"}}, "Mobile":{"Actions":{"Open":"Mscrm.HomepageGrid.actioncard.CardCommand"}}}</actions>
</entity>
Befehl (new_commands8db43275-0291-401d-923a-90a6c373cc18)
Die Datei enthält den Befehl für die Aktionskarte.
function CardCommand() {
window.open("https://aka.ms/salesai-raext");
}
Wenn der Befehl ausgeführt wird, wird er über die RibbonDiff
aufgerufen, die in der Datei customization.xml der Entität ActionCard definiert ist.
<ImportExportXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Entities>
<Entity>
<Name LocalizedName="ActionCard" OriginalName="ActionCard">ActionCard</Name>
<ObjectTypeCode>9962</ObjectTypeCode>
<RibbonDiffXml>
<CustomActions>
<CustomAction Id="Mscrm.HomepageGrid.actioncard.CardCommand.CustomAction" Location="Mscrm.HomepageGrid.actioncard.MainTab.Actions.Controls._children" Sequence="12">
<CommandUIDefinition>
<Button Id="Mscrm.HomepageGrid.actioncard.CardCommand" ToolTipTitle="Open" ToolTipDescription="Open" Command="Mscrm.HomepageGrid.actioncard.CardCommand" Sequence="12" LabelText="Open" Alt="Open" Image16by16="/WebResources/new_msicon" Image32by32="/WebResources/new_msicon" TemplateAlias="o1" ModernImage="new_msicon" />
</CommandUIDefinition>
</CustomAction>
<CustomAction Id="Mscrm.SubGrid.actioncard.CardCommand.CustomAction" Location="Mscrm.SubGrid.actioncard.MainTab.Actions.Controls._children" Sequence="57">
<CommandUIDefinition>
<Button Id="Mscrm.HomepageGrid.actioncard.CardCommand" ToolTipTitle="Open" ToolTipDescription="Open" Command="Mscrm.HomepageGrid.actioncard.CardCommand" Sequence="29" LabelText="Open" Alt="Open" Image16by16="/WebResources/new_msicon" Image32by32="/WebResources/new_msicon" TemplateAlias="o1" ModernImage="new_msicon" />
</CommandUIDefinition>
</CustomAction>
</CustomActions>
<CommandDefinitions>
<CommandDefinition Id="Mscrm.HomepageGrid.actioncard.CardCommand">
<EnableRules >
<EnableRule Id="Mscrm.SelectionCountExactlyOne" />
<EnableRule Id="Mscrm.NotOffline" />
</EnableRules>
<DisplayRules>
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="CardCommand" Library="$webresource:new_commands">
<CrmParameter Value="SelectedControl" />
<CrmParameter Value="SelectedControlSelectedItemReferences" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
</CommandDefinitions>
<RuleDefinitions>
<TabDisplayRules />
<DisplayRules>
</DisplayRules>
<EnableRules/>
</RuleDefinitions>
</RibbonDiffXml>
</Entity>
</Entities>
<Roles></Roles>
<Workflows></Workflows>
<FieldSecurityProfiles></FieldSecurityProfiles>
<Templates />
<EntityMaps />
<EntityRelationships />
<OrganizationSettings />
<optionsets />
<WebResources>
<WebResource>
<WebResourceId>{6aa7c568-4830-4da6-89f9-18a8fd9c2285}</WebResourceId>
<Name>new_msicon</Name>
<DisplayName>new_msicon</DisplayName>
<WebResourceType>5</WebResourceType>
<IntroducedVersion>1.0</IntroducedVersion>
<IsEnabledForMobileClient>0</IsEnabledForMobileClient>
<IsAvailableForMobileOffline>0</IsAvailableForMobileOffline>
<DependencyXml><Dependencies><Dependency componentType="WebResource"/></Dependencies></DependencyXml>
<IsCustomizable>1</IsCustomizable>
<CanBeDeleted>1</CanBeDeleted>
<IsHidden>0</IsHidden>
<FileName>/WebResources/new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285</FileName>
</WebResource>
<WebResource>
<WebResourceId>{8db43275-0291-401d-923a-90a6c373cc18}</WebResourceId>
<Name>new_commands</Name>
<DisplayName>new_commands</DisplayName>
<WebResourceType>3</WebResourceType>
<IntroducedVersion>1.0</IntroducedVersion>
<IsEnabledForMobileClient>0</IsEnabledForMobileClient>
<IsAvailableForMobileOffline>0</IsAvailableForMobileOffline>
<DependencyXml><Dependencies><Dependency componentType="WebResource"/></Dependencies></DependencyXml>
<IsCustomizable>1</IsCustomizable>
<CanBeDeleted>1</CanBeDeleted>
<IsHidden>0</IsHidden>
<FileName>/WebResources/new_commands8db43275-0291-401d-923a-90a6c373cc18</FileName>
</WebResource>
<WebResource>
<WebResourceId>{9dd7e039-33a1-4778-9972-66536dc5e829}</WebResourceId>
<Name>new_cardtype_schema</Name>
<DisplayName>cardtype_schema</DisplayName>
<WebResourceType>4</WebResourceType>
<IntroducedVersion>1.0</IntroducedVersion>
<IsEnabledForMobileClient>0</IsEnabledForMobileClient>
<IsAvailableForMobileOffline>0</IsAvailableForMobileOffline>
<DependencyXml><Dependencies><Dependency componentType="WebResource"/></Dependencies></DependencyXml>
<IsCustomizable>1</IsCustomizable>
<CanBeDeleted>1</CanBeDeleted>
<IsHidden>0</IsHidden>
<FileName>/WebResources/new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829</FileName>
</WebResource>
</WebResources>
<Languages>
<Language>1033</Language>
</Languages>
</ImportExportXml>
Symbol (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)
Die Datei enthält das Symbol, das für die Karte verwendet wird.
Schritt 2: Erstellen der Lösung (ExtPkgDeployer.sln)
Öffnen Sie ein Eingabeaufforderungsfenster (cmd).
Wechseln Sie zum Stamm-Ordner.
C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder
Führen Sie den folgenden Befehl aus, um die Lösung zu erstellen.
msbuild ExtPkgDeployer.sln
Der Build wurde erfolgreich erstellt und Sie können sehen, dass <folder>\ExtPkgDeployer\bin\Debug
, PkgFolder
und ExtPkgDeployer.dll
generiert werden.
Schritt 3: Importieren des Pakets mithilfe des Package Deployer-Tools
Kopieren Sie
PkgFolder
undExtPkgDeployer.dll
aus dem Ordner<folder>\ExtPkgDeployer\bin\Debug
und fügen Sie ihn am Ort<PackageDeployerToolLocation>\tools
ein.Führen Sie das Tool aus, indem Sie auf
PackageDeployer.exe
im Ordner doppelklicken, in dem Sie das Package Deployer-Tool gespeichert haben.Wählen Sie im Einführungsbildschirm des Tools Package Deployer Weiter.
Geben Sie im Authentifizierungsbildschirm Authentifizierungsdetails eingeben, um eine Verbindung mit der Instanz von Dynamics 365 Sales herzustellen, auf der Sie das Paket bereitstellen möchten. Wenn Sie mehrere Organisationen haben und die Organisation auswählen wollen, in der Sie das Unified Service Desk-Paket bereitstellen möchten, wählen Sie das Kontrollkästchen "Liste der verfügbaren Organisationen anzeigen" aus. Wählen Sie Anmeldung aus.
Die folgende Bildschirmanzeige gibt ausführliche Informationen über das ausgewählte Paket und die Aktionen, die auf der Instanz von Dynamics 365 Sales installiert werden. Prüfen Sie die Information, und wählen Sie dann Weiter.
Der Bildschirm Bereit zur Installation zeigt das bereitzustellende Paket und den Namen der Dynamics 365 Sales-Organisation an, für die es bereitgestellt wird. Prüfen Sie die Information, und wählen Sie dann Weiter.
Die folgenden Bildschirmanzeigen geben den Überprüfungsstatus des bereitzustellenden Pakets wieder. Nachdem die Überprüfung erfolgreich abgeschlossen wurde, wählen Sie Weiter.
Die folgende Seite zeigt den Status der Paketbereitstellung an. Klicken Sie auf Weiter.
Die folgenden Bildschirmanzeigen geben den Namen und die Informationen über das Paket wieder, das Sie gerade bereitgestellt haben. Überprüfen Sie die Informationen und wählen Sie Abschließen, um das Package Deployer Tool zu verlassen.
Nach der Bereitstellung des Pakets wird ein neuer Kartentyp mit einer ID - 2183dfc0-3c1c-45b7-a331-1943880c25c6
angelegt, die im Schema definiert ist (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829).
Schritt 4: Überprüfen des neuen Kartentyps
Überprüfen Sie den Kartentyp mit einer ID '2183dfc0-3c1c-45b7-a331-1943880c25c6''. Senden Sie eine Get-Methodenanforderung.
Anforderung
GET [Organization URI]/api/data/v9.0/cardtype(2183dfc0-3c1c-45b7-a331-1943880c25c6) HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Antwort
{
"@odata.context":"https://[Organization URI]/api/data/v9.0/$metadata#cardtype/$entity",
"@odata.etag":"W/"662120\"",
"boolcardoption":false,
"clientavailability":3,
"ispreviewcard":true,
"cardname":"ExtExample",
"cardtypeid":"2183dfc0-3c1c-45b7-a331-943880c25c6",
"cardtypeicon":"webresources/new_msicon",
"intcardoption":0,
"isenabled":true,
"hassnoozedismiss":true,
"softtitle":"Extensibility Example",
"cardtype":11000,
"isliveonly":false,
"_modifiedby_value":"50673658-c5d6-e811-a98c-000d3a1df431",
"versionnumber":662120,
"isbasecard":false,
"actions":"{\"WebClient\":{\"Actions\":{\"Open\":\"Mscrm.HomepageGrid.actioncard.CardCommand\"},\"Default\":{\"Open\":\"Mscrm.HomepageGrid.actioncard.CardCommand\"}}, \"Mobile\":{\"Actions\":{\"Open\":\"Mscrm.HomepageGrid.actioncard.CardCommand\"}}}",
"publishername":"adminsocial",
"modifiedon":"2018-10-26T12:26:14Z",
"summarytext":"RA Card Extensibility Example",
"_transactioncurrencyid_value":null,
"importsequencenumber":null,
"createdon":null,
"overriddencreatedon":null,
"_modifiedonbehalfby_value":null,
"_createdonbehalfby_value":null,
"_createdby_value":null,
"scheduletime":null,
"exchangerate":null,
"grouptype":null,
"stringcardoption":null,
"lastsynctime":null
}
Schritt 5: Erstellen einer Aktionskarte für den neuen Kartentyp mithilfe der Web-API
Erstellen Sie eine Aktionskarte für den neuen Kartentyp, der mit dem Package Deployer erstellt wurde. Senden Sie eine POST-Methodenanforderung.
Anfordern
POST http://[Organization URI]/api/data/v9.0/actioncards HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"cardtypeid@odata.bind": "/cardtype(2183dfc0-3c1c-45
b7-a331-1943880c25c6)",
"startdate": "2018-10-20T01:01:01Z",
"expirydate": "2018-10-25T01:01:01Z",
"visibility": true,
"priority": 2000,
"description": "This card should be visible between
start and end date mentioned above",
"title" : "Extensibility Example",
"cardtype": 11000,
"ownerid@odata.bind" : "/systemusers({USER_ID})"
}
Antworten
HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: http://[Organization URI]/api/data/v9.0/actioncard(2183dfc0-3c1c-45b7-a331-1943880c25c6)
Notiz
Öffnen Sie die Browserkonsole und führen Sie den Befehl sessionStorage.clear();
aus, um den Sitzungscache zu löschen.
Schritt 6: Überprüfen der neuen benutzerdefinierten Karte
Sie können überprüfen, ob die benutzerdefinierten Karten in Ihrer Organisation als Endbenutzer und als Administrator erstellt werden.
Als Endbenutzer
Melden Sie sich bei Dynamics 365 Sales an.
Im Abschnitt Assistent können Sie die von Ihnen erstellte Aktionskarte sehen.
Als Administrator
Melden Sie sich bei Dynamics 365 Sales an und wechseln Sie zur Vertriebs-Hub-App.
Wechseln Sie Änderungsbereich und wählen Sie Sales Insights-Einstellungen.
Wählen Sie in der Siteübersicht Erkenntniskarten unter Assistent aus, um zur Seite Erkenntniskarten verwalten zu gehen.
Auf der Seite Erkenntniskarten verwalten sehen Sie eine Option zum Aktivieren erstellter benutzerdefinierter Aktionskarten in Ihrer Organisation.
Weitere Informationen zum Aktivieren von Karten finden Sie unter Aktivieren oder Deaktivieren von Erkenntniskarten.
Sie finden die Optionen nicht in Ihrer App?
Das kann drei Gründe haben:
- Sie verfügen nicht über die erforderliche Lizenz oder Rolle. Lesen Sie den Abschnitt „Lizenz- und Rollenanforderungen“ oben auf dieser Seite.
- Ihr Administrator hat die Funktion nicht aktiviert.
- In Ihrem Unternehmen wird eine benutzerdefinierte App verwendet. Erkundigen Sie sich beim Administrator, wie Sie am besten vorgehen. Die in diesem Artikel beschriebenen Schritte gelten insbesondere für die sofort einsatzbereite Vertriebshub-App und Sales Professional-App.