Del via


Eksempel: Udvide assistentkorttypen (brugerdefineret kort)

Find ud af, hvordan du downloader, samt hvilke ressourcer der findes til at oprette en brugerdefineret handling, eller få mere at vide om, hvordan du udvider assistentens handlingskort.

Licens- og rollekrav

Kravstype Du skal have
Licens Dynamics 365 Sales Premium
Flere oplysninger: Prisfastsættelse af Dynamics 365 Sales
Sikkerhedsroller Systemtilpasser
Du kan finde flere oplysninger i Foruddefinerede sikkerhedsroller til Salg

Opret et brugerdefineret handlingskort

Følgende proces forklarer, hvordan du opretter et brugerdefineret kort:

  • Trin 1: Download eksempelløsningen for den udvidede assistentkorttype
  • Trin 2: Opret løsningen (ExtPkgDeployer.sln)
  • Trin 3: Importer pakken ved hjælp af værktøjet Package Deployer
  • Trin 4: Kontroller den nye korttype
  • Trin 5: Opret handlingskort for den nye korttype ved hjælp af Web-API'en.
  • Trin 6: Bekræft det nye brugerdefinerede kort

Forudsætninger

Gennemse forudsætningerne, før du opretter de brugerdefinerede kort i organisationen:

  • Du skal have værktøjet Package Deployer (packagedeployer.exe) for at installere pakker. Hvis du vil downloade Package Deployer, kan du se Download værktøjer fra NuGet

  • Hvis du vil bruge denne funktion, skal du købe en Dynamics 365 Sales Insights-licens eller starte en prøveversion for at bruge avancerede Sales Insights-funktioner.

Trin 1: Download eksempelløsningen for den udvidede assistentkorttype

Download eksempelløsningen for det brugerdefinerede kort.

Eksemplerne viser, hvordan du opretter et brugerdefineret kort i assistenten ved hjælp af programmering.

Gå til stien ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources. Klik på mappen WebResources, og du kan se tre filer, der kræves for at oprette et brugerdefineret kort.

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

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

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

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

Den indeholder skemadefinitionen for den nye korttype.

Bemærk

Sørg for, at korttypens id-værdi er større end 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>

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

Filen indeholder kommandoen for handlingskortet.

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

Når du udfører kommandoen, aktiveres kommandoen via den RibbonDiff, der er defineret i customization.xml i objektet 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>

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

Filen indeholder det ikon, der bruges for kortet.

Trin 2: Opret løsningen (ExtPkgDeployer.sln)

  1. Åbn kommandoprompt (cmd).

  2. Gå til rodmappen. C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder

  3. Udfør kommandoen for at oprette løsningen. msbuild ExtPkgDeployer.sln

Oprettelsen lykkes, og du kan se under <folder>\ExtPkgDeployer\bin\Debug, at PkgFolder og ExtPkgDeployer.dll er oprettet.

Trin 3: Importer pakken ved hjælp af værktøjet Package Deployer

  1. Kopiér PkgFolder og ExtPkgDeployer.dll fra mappen <folder>\ExtPkgDeployer\bin\Debug, og indsæt den på placeringen <PackageDeployerToolLocation>\tools.

  2. Kører værktøjet ved at dobbeltklikke på PackageDeployer.exe fra den mappe, hvor du har gemt værktøjet Package Deployer.

  3. På introduktionsskærmen i Package Deployer-værktøjet skal du vælge Fortsæt.

  4. På godkendelsesskærmen skal du angive godkendelsesoplysninger for at oprette forbindelse til Dynamics 365 Sales-forekomsten, hvor du vil installere pakken. Hvis du har flere organisationer, og du vil vælge den organisation, hvor du vil installere Unified Service Desk -pakken, skal du markere afkrydsningsfeltet Vis liste over tilgængelige organisationer. Vælg Log på.

  5. Det næste skærmbillede viser detaljerede oplysninger om den valgte pakke og de ting, der vil blive installeret på din Dynamics 365 Sales-forekomst. Gennemse oplysningerne, og vælg Næste.

  6. Skærmen Klar til at installere viser den pakke, der er valgt til installation, og navnet på den Dynamics 365 Sales-organisation, som den skal installeres på. Gennemse oplysningerne, og vælg Næste.

  7. Det næste skærmbillede viser en valideringsstatus for den pakke, der er valgt til at blive installeret. Når valideringen er fuldført, skal du vælge Næste.

  8. Næste side viser status for installationspakken. Klik på Næste.

  9. Det næste skærmbillede viser navn og oplysninger om den pakke, du lige har installeret. Gennemse oplysningerne, og vælg Udfør for at afslutte Package Deployer-værktøjet.

Når du installerer pakken, oprettes der en ny korttype med et ID - 2183dfc0-3c1c-45b7-a331-1943880c25c6, som er defineret i skemaet (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829).

Trin 4: Kontroller den nye korttype

Kontrollér korttypen med ID'et '2183dfc0-3c1c-45b7-a331-1943880c25c6'. Send en GET-metodeanmodning

Anmodning

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  

Svar

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

Trin 5: Opret handlingskort for den nye korttype ved hjælp af Web-API'en

Opret et handlingskort for den nye korttype, der er oprettet ved hjælp af Package Deployer. Send en POST-metodeanmodning

Request

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

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) 

Bemærk

Åbn browserkonsollen, og kør kommandoen, sessionStorage.clear(); for at rydde sessionscachen.

Trin 6: Bekræft det nye brugerdefinerede kort

Du kan kontrollere, at de brugerdefinerede kort oprettes i din organisationen, som slutbruger og administrator.

Som slutbruger

  1. Log på Dynamics 365 Sales.

  2. Under sektionen Assistent kan du se det oprettede handlingskort.

    eksempel på udvidet handlingskort

Som administrator

  1. Log på Dynamics 365 Sales, og gå til Salgshub-app.

  2. Gå til Skift område, og vælg Indstillinger for Sales Insights.

  3. Vælg Indsigtskort under Assistent i webstedsoversigten for at gå til siden Administrer indsigtskort.

  4. På siden Administrer indsigtskort kan du se en indstilling til at aktivere oprettede brugerdefinerede handlingskort i din organisation.

Hvis du vil vide mere om, hvordan du aktiverer kort, kan du se Aktivere eller deaktivere indsigtskort.

Kan du ikke finde indstillingerne i din app?

Der er tre muligheder:

  • Du har ikke den nødvendige licens eller rolle. Se afsnittet Licens- og rollekrav øverst på denne side.
  • Din administrator har ikke slået funktionen til.
  • Din organisation bruger en brugerdefineret app. Kontakt din administrator for at få de nøjagtige trin. De trin, der beskrives i denne artikel, er specifikke for den indbyggede Salgshub og Sales Professional-apps.

Oprette brugerdefinerede kort i assistent

Konfigurere assistent

Hjælp til kommunikation med kunderne med assistent.