Share via


Voorbeeld: kaarttype van Assistent (aangepaste kaart) uitbreiden

Leer hoe u kaarten downloadt, welke resources u kunt gebruiken om een aangepaste actiekaart te maken of hoe u de actiekaart voor de assistent uitbreidt.

Licentie- en rolvereisten

Vereistetype U moet over het volgende beschikken
Licentie Dynamics 365 Sales Premium
Meer informatie: Dynamics 365 Sales-prijzen
Beveiligingsrollen Systeemaanpasser
Meer informatie: Vooraf gedefinieerde beveiligingsrollen voor Verkoop

Aangepaste actiekaart maken

In het volgende proces wordt uitgelegd hoe u een aangepaste kaart maakt:

  • Stap 1: De oplossing voor het uitbreiden van het voorbeeldkaarttype van Assistent downloaden
  • Stap 2: De oplossing (ExtPkgDeployer.sln) bouwen
  • Stap 3: Het pakket importeren met het hulpprogramma Package Deployer
  • Stap 4: Het nieuwe bijtype verifiëren
  • Stap 5: Actiekaart voor het nieuwe kaarttype maken met de web-API.
  • Stap 6: De nieuwe aangepaste kaart verifiëren

Vereisten

Controleer de vereisten voordat u de aangepaste kaarten in uw organisatie maakt:

  • U kunt het hulpprogramma Package Deployer (packagedeployer.exe) gebruiken om pakketten te implementeren. Ga naar Hulpmiddelen downloaden van NuGet om Package Deployer te downloaden.

  • Als u deze functie wilt gebruiken, moet u een licentie voor Dynamics 365 Sales Insights aanschaffen of een proefversie starten om Sales Insights-functies te kunnen gebruiken.

Stap 1: De oplossing voor het uitbreiden van het voorbeeldkaarttype van Assistent downloaden

Download de oplossing voor voorbeelden van aangepaste kaarten.

In de voorbeelden ziet u hoe u programmatisch een aangepaste kaart in Assistent maakt.

Ga naar het pad ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources. Onder de map WebResources ziet u drie bestanden die nodig zijn om een aangepaste kaart te maken.

  • Schemadefinitie (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

  • Opdracht (new_commands8db43275-0291-401d-923a-90a6c373cc18)

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

Schemadefinitie (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

Dit bestand bevat een schemadefinitie voor het nieuwe kaarttype.

Notitie

Controleer of de id-waarde voor het kaarttype hoger is dan 10000.

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

Opdracht (new_commands8db43275-0291-401d-923a-90a6c373cc18)

Dit bestand bevat de opdracht voor de actiekaart.

function CardCommand() {
	window.open("https://aka.ms/salesai-raext");
}

Als u de opdracht uitvoert, wordt de opdracht aangeroepen via de RibbonDiff die is gedefinieerd in de customization.xml van de entiteit ActionCard.

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

Pictogram (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)

Dit bestand bevat het pictogram dat voor de kaart wordt gebruikt.

Stap 2: De oplossing (ExtPkgDeployer.sln) bouwen

  1. Open de opdrachtprompt (cmd).

  2. Ga naar de hoofdmap. C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder

  3. Voer de opdracht uit om de oplossing te bouwen. msbuild ExtPkgDeployer.sln

De oplossing wordt gebouwd en u ziet dat onder <folder>\ExtPkgDeployer\bin\Debug de map PkgFolder en het bestand ExtPkgDeployer.dll zijn gegenereerd.

Stap 3: Het pakket importeren met het hulpprogramma Package Deployer

  1. Kopieer PkgFolder en ExtPkgDeployer.dll vanuit de mao <folder>\ExtPkgDeployer\bin\Debug en plak deze op de locatie <PackageDeployerToolLocation>\tools.

  2. Voer het hulpprogramma uit door te dubbelklikken op PackageDeployer.exe vanuit de map waarin u het hulpprogramma Package Deployer hebt opgeslagen.

  3. Klik in het inleidingsscherm van het hulpmiddel Package Deployer op Doorgaan.

  4. Geef in het verificatiescherm verificatiedetails op om verbinding te maken met het Dynamics 365 Sales-exemplaar waarop u het pakket wilt implementeren. Als u meerdere organisaties hebt en de organisatie wilt selecteren waar u het Unified Service Desk-pakket wilt implementeren, schakelt u het selectievakje Lijst met beschikbare organisaties weergeven in. Kies Aanmelden.

  5. Het volgende scherm bevat gedetailleerde informatie over het geselecteerde pakket en de items die in uw Dynamics 365 Sales-exemplaar worden geïnstalleerd. Bekijk de informatie en klik op Volgende.

  6. Het scherm Gereed voor installatie bevat het voor implementatie geselecteerde pakket en de naam van de Dynamics 365 Sales-organisatie waar het wordt geïmplementeerd. Bekijk de informatie en klik op Volgende.

  7. Het volgende scherm bevat de validatiestatus van het pakket dat is geselecteerd om te worden geïmplementeerd. Nadat de validatie met succes is voltooid, kiest u Volgende.

  8. Op de volgende pagina wordt de status van de pakketinstallatie weergegeven. Klik op Volgende.

  9. De volgende schermen bevatten de naam en gegevens over het pakket dat u zojuist hebt geïmplementeerd. Bekijk de informatie en klik op Voltooien om het hulpprogramma Package Deployer af te sluiten.

Nadat u het pakket implementeert, wordt een nieuw kaarttype gemaakt met een id 2183dfc0-3c1c-45b7-a331-1943880c25c6, die is gedefinieerd in het het schema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829).

Stap 4: Het nieuwe kaarttype verifiëren

Controleer het kaarttype met een ID '2183dfc0-3c1c-45b7-a331-1943880c25c6'. Verzend een GET-methodeaanvraag.

Aanvraag

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  

Respons

{
"@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
}

Stap 5: Actiekaart voor het nieuwe kaarttype maken met de web-API

Maak een actiekaart voor het nieuwe kaarttype dat is gemaakt met Package Deployer. Verzend een POST-methodeaanvraag.

Aanvragen

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

De respons

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) 

Notitie

Open de browserconsole en voer de opdracht sessionStorage.clear(); uit om de sessiecache te wissen.

Stap 6: De nieuwe aangepaste kaart verifiëren

U kunt als eindgebruiker en als beheerder de aangepaste kaarten controleren die in uw organisatie zijn gemaakt.

Als eindgebruiker

  1. Meld u aan bij Dynamics 365 Sales.

  2. In de sectie Assistent kunt u de gemaakte actiekaart bekijken.

    Voorbeeld van uitgebreide actiekaart

Als beheerder

  1. Meld u aan bij Dynamics 365 Sales en ga naar de app Verkoophub.

  2. Ga naar Wijzigingsgebied en selecteer Instellingen voor Sales Insights.

  3. Selecteer in het siteoverzicht de optie Inzichtkaarten onder Assistent om naar de pagina Inzichtkaarten beheren te gaan.

  4. Op de pagina Inzichtkaarten beheren ziet u een optie om aangepaste actiekaarten in uw organisatie in te schakelen.

Zie Inzichtkaarten in- of uitschakelen voor meer informatie over het inschakelen van kaarten.

Kunt u de opties in uw app niet vinden?

Er zijn drie mogelijkheden:

  • U beschikt niet over de vereiste licentie of rol. Controleer het gedeelte Licentie- en rolvereisten bovenaan deze pagina.
  • Uw beheerder heeft de functie niet ingeschakeld.
  • Uw organisatie gebruikt een aangepaste app. Neem contact op met uw beheerder voor exacte stappen. De stappen die in dit artikel worden beschreven, zijn specifiek voor de kant-en-klare Verkoophub- en Sales Professional-app.

Aangepaste kaarten maken in Assistent

Assistent configureren

Klantcommunicaties beheren met Assistent