Beispiel: Erweitern des Kartentyps des Assistenten (benutzerdefinierte Karte)

Erfahren Sie, wie Sie das Beispiel herunterladen und welche Ressourcen zum Erstellen benutzerdefinierter Aktionen verfügbar sind, oder erfahren Sie, wie Sie die Aktionskarte des Assistenten erweitern.

Erstellen einer benutzerdefinierten Aktionskarte

Der folgende Prozess erläutert, wie Sie eine benutzerdefinierte Karte erstellen:

  • Schritt 1: Laden Sie die Beispiellösung für den Erweiterungs-Assistenten-Kartentyp herunter.
  • Schritt 2: Erstellen Sie die Lösung (ExtPkgDeployer.sln).
  • Schritt 3: Importieren Sie das Paket mithilfe des Paketbereitstellungstools.
  • Schritt 4: Überprüfen Sie den neuen Kartentyp.
  • Schritt 5: Erstellen Sie die Aktionskarte für den neuen Kartentyp mithilfe der Web-API.
  • Schritt 6: Überprüfen Sie die neue benutzerdefinierte 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. Informationen zum Herunterladen des Paketbereitstellungstools finden Sie unter "Herunterladen von Tools von 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: Assistant-Kartentyp-Beispielvorlage für Erweiterungen herunterladen.

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)

  • Symbol (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)

Schema-Definition (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

Die Schemadefinition für den neuen Kartentyp.

Hinweis

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>aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</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 Sie den Befehl ausführen, ruft der RibbonDiff im customization.xml der ActionCard-Entität definierte Befehl auf.

<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>&lt;Dependencies&gt;&lt;Dependency componentType="WebResource"/&gt;&lt;/Dependencies&gt;</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>&lt;Dependencies&gt;&lt;Dependency componentType="WebResource"/&gt;&lt;/Dependencies&gt;</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>&lt;Dependencies&gt;&lt;Dependency componentType="WebResource"/&gt;&lt;/Dependencies&gt;</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 Von der Karte verwendete Symbol.

Schritt 2: Erstellen der Lösung (ExtPkgDeployer.sln)

  1. Öffnen Sie die Eingabeaufforderung (cmd).

  2. Wechseln Sie zum Stamm-Ordner. C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder

  3. Führen Sie den Befehl aus, um die Lösung zu erstellen. msbuild ExtPkgDeployer.sln

Der Build ist erfolgreich. Sie sehen, dass unter den <folder>\ExtPkgDeployer\bin\Debug die PkgFolder und die ExtPkgDeployer.dll generiert werden.

Schritt 3: Importieren des Pakets mithilfe des Package Deployer-Tools

  1. Kopieren Sie PkgFolder und ExtPkgDeployer.dll aus dem Ordner <folder>\ExtPkgDeployer\bin\Debug und fügen Sie ihn am Ort <PackageDeployerToolLocation>\tools ein.

  2. Führen Sie das Tool aus, indem Sie auf PackageDeployer.exe im Ordner doppelklicken, in dem Sie das Package Deployer-Tool gespeichert haben.

  3. Wählen Sie im Einführungsbildschirm des Tools Package Deployer Weiter.

  4. Geben Sie in dem Authentifizierungsbildschirm die Authentifizierungsdetails an, um eine Verbindung mit der Dynamics 365 Sales-Instanz 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.

  5. Der nächste Bildschirm zeigt detaillierte Informationen über das ausgewählte Paket und die Elemente, die auf Ihrer Dynamics 365 Sales-Instanz installiert werden. Prüfen Sie die Information, und wählen Sie dann Weiter.

  6. 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.

  7. Die folgenden Bildschirmanzeigen geben den Überprüfungsstatus des bereitzustellenden Pakets wieder. Nachdem die Überprüfung erfolgreich abgeschlossen wurde, wählen Sie Weiter.

  8. Die folgende Seite zeigt den Status der Paketbereitstellung an. Klicken Sie auf Weiter.

  9. 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 - 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 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 '00aa00aa-bb11-cc22-dd33-44ee44ee44ee''. Senden Sie eine GET-Anforderung.

Anforderung

GET [Organization URI]/api/data/v9.0/cardtype(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) 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.

Anforderung

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})"
}  

Antwort

HTTP/1.1 204 No Content  
OData-Version: 4.0  
OData-EntityId: http://[Organization URI]/api/data/v9.0/actioncard(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) 

Hinweis

Ö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, dass die benutzerdefinierten Karten in Ihrer Organisation sowohl als Endbenutzer als auch als Administrator erstellt wurden.

Als Endbenutzer

  1. Melden Sie sich bei Dynamics 365 Sales an.

  2. Im Abschnitt Assistent können Sie die von Ihnen erstellte Aktionskarte sehen.

    Screenshot eines Beispiels für eine erweiterte Aktionskarte.

Als Administrator

  1. Melden Sie sich bei Dynamics 365 Sales an und wechseln Sie zur Vertriebs-Hub-App.

  2. Gehen Sie zu Wechselbereich und wählen Sie Sales Insights-Einstellungen.

  3. Wählen Sie in der Siteübersicht Erkenntniskarten unter Assistent aus, um zur Seite Erkenntniskarten verwalten zu gehen.

  4. 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 das Feature nicht in Ihrer App?

Das kann mehrere Gründe haben:

  • Sie verfügen nicht über die erforderliche Lizenz, um diese Funktion zu verwenden. Sehen Sie in der Vergleichstabelle und im Lizenzierungshandbuch nach und überprüfen Sie, welche Features mit Ihrer Lizenz verfügbar sind.
  • Sie verfügen nicht über die erforderliche Sicherheitsrolle, um diese Funktion zu verwenden.
  • 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.

Erstellen benutzerdefinierter Karten im Assistenten

Konfigurieren des Assistenten

Lenken Sie die Kundenkommunikation mit dem Assistenten