Freigeben über


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>&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 Symbol, das für die Karte verwendet wird.

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

  1. Öffnen Sie ein Eingabeaufforderungsfenster (cmd).

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

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

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

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

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

  1. Melden Sie sich bei Dynamics 365 Sales an.

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

    Beispiel einer erweiterten Aktionskarte

Als Administrator

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

  2. Wechseln Sie Änderungsbereich 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 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.

Erstellen benutzerdefinierter Karten im Assistenten

Konfigurieren des Assistenten

Lenken Sie die Kundenkommunikation mit dem Assistenten