Partajați prin


Eșantion: Extindere tip de card Asistent (card particularizat)

Aflați cum se descarcă și ce resurse sunt disponibile pentru a crea o acțiune particularizată sau aflați despre extinderea asistentului cardului de acțiune.

Cerințe de licență și rol

Tipul de cerință Trebuie să ai
Licenţă Dynamics 365 Sales Premium
Mai multe informații: Prețurile de vânzări Dynamics 365
Roluri de securitate Persoană care particularizează sistemul
Mai multe informații: Roluri de securitate predefinite pentru vânzări

Crearea unui card particularizat

Următorul proces explică cum se creează un card personalizat:

  • pas 1: Descărcați soluția eșantion de tip extindere Asistent card
  • pas 2: Creați soluția (ExtPkgDeployer.sln)
  • pas 3: Importați pachetul folosind instrumentul de implementare a pachetelor
  • pas 4: Verificați noul tip card
  • pas 5: Creați acțiunea card pentru noul tip card folosind API-ul web.
  • pas 6: Verificați noul card personalizat

Cerințe preliminare

Revizuiți cerințele preliminare înainte de a crea carduri personalizate în cadrul organizației:

  • Trebuie să aveți instrumentul Package Deployer (packagedeployer.exe) pentru a implementa pachete. Pentru a descărca pachetul de implementare, consultați Descărcați instrumente de la NuGet

  • Pentru a utiliza această funcție, trebuie să achiziționați o licență Dynamics 365 Sales Insights sau să începeți o versiune de încercare pentru a utiliza funcțiile Sales Insights.

Pasul 1: descărcați soluția eșantion de extindere a tipului de card Asistent

Descărcați eșantionul de soluție personalizată card.

Eșantioanele arată modul în care puteți crea programatic un card personalizat în Asistent.

Mergeți pe calea ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources. În folderul WebResources , puteți vedea trei fișiere care sunt necesare pentru a crea un card personalizat.

  • Definiția schemei (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

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

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

Definiția schemei (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

Conține definiția schemei pentru noul tip de card.

Notă

Asigurați-vă că valoarea ID pentru tipul de card este mai mare decât 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>

Comandă (new_commands8db43275-0291-401d-923a-90a6c373cc18)

Fișierul conține comanda pentru cardul de acțiune.

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

Când executați comanda, comanda este invocată prin RibbonDiff definit în customization.xml din ActionCard entitate.

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

Fișierul conține pictograma utilizată pentru card.

Pasul 2: Construiți soluția (ExtPkgDeployer.sln)

  1. Deschideți promptul de comandă (cmd).

  2. Accesați folderul rădăcină. C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder

  3. Executați comanda pentru a construi soluția. msbuild ExtPkgDeployer.sln

Compilarea este reușită și puteți vedea că sub <folder>\ExtPkgDeployer\bin\Debug sunt generate PkgFolder și ExtPkgDeployer.dll .

Pasul 3: Importați pachetul utilizând instrumentul Package Deployer

  1. Copiați PkgFolder și ExtPkgDeployer.dll din folderul <folder>\ExtPkgDeployer\bin\Debug și inserați-l în locația <PackageDeployerToolLocation>\tools .

  2. Rulați instrumentul făcând dublu clic pe PackageDeployer.exe din folderul în care ați salvat instrumentul de implementare a pachetelor.

  3. În ecranul de introducere al instrumentului Package Deployer , alegeți Continuați.

  4. Pe ecranul de autentificare, furnizați detalii de autentificare pentru a vă conecta la instanța Dynamics 365 Sales unde doriți să implementați pachetul. Dacă aveți mai multe organizații și doriți să selectați organizația unde doriți să implementați pachetul Unified Service Desk, alegeți caseta de selectare Afișați lista de organizații disponibile. Alegeți Autentificare.

  5. Ecranul următor afișează informații detaliate despre pachetul selectat și lucrurile care vor fi instalate în instanța dvs. Dynamics 365 Sales. Examinați informațiile și alegeți Următorul.

  6. Ecranul Gata de instalare afișează pachetul selectat pentru implementare și numele organizației Dynamics 365 Sales în care va fi implementat. Examinați informațiile și alegeți Următorul.

  7. Ecranul următor afișează starea de validare a pachetului selectat pentru implementare. După ce validarea s-a încheiat cu succes, alegeți Next.

  8. Pagina următoare afișează starea de implementare a pachetului. Faceți clic pe Următorul.

  9. Ecranul următor afișează numele și informații despre pachetul pe care tocmai l-ați implementat. Examinați informațiile și alegeți Finalizare pentru a părăsi instrumentul Package Deployer .

După ce implementați pachetul, este creat un nou tip card cu un ID - 2183dfc0-3c1c-45b7-a331-1943880c25c6, care este definit în schemă (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829).

Pasul 4: Verificați noul tip de card

Verificați tipul de card cu ID „2183dfc0-3c1c-45b7-a331-1943880c25c6”. Trimiteți o solicitare de metodă GET.

Solicitare

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  

Răspuns

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

Pasul 5: Creați un card de acțiune pentru noul tip de card utilizând Web API.

Creați un card de acțiune pentru noul tip de card creat folosind Package Deployer. Trimiteți o solicitare de metodă POST.

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

Response

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) 

Notă

Deschideți consola browserului și rulați comanda sessionStorage.clear(); pentru a șterge memoria cache a sesiunii.

Pasul 6: Verificați noul card personalizat

Puteți verifica cardurile personalizate create în cadrul organizației ca utilizator final și ca administrator.

Ca utilizator final

  1. Conectați-vă la Dynamics 365 Sales.

  2. În secțiunea Asistent , puteți vedea acțiunea creată de dvs. card.

    exemplu de card de acțiune extins

Ca administrator

  1. Conectați-vă la Dynamics 365 Sales și accesați aplicația Hub de vânzări.

  2. Accesați Zona de modificare și selectați Setări Sales Insights.

  3. Pe harta site-ului, selectați Insights Carduri sub Asistent pentru a accesa Gestionați insight Carduri pagina.

  4. Pe pagina Gestionați informațiile Carduri , vedeți o opțiune pentru a activa acțiunile personalizate create Carduri în organizația dvs.

Pentru a afla mai multe despre cum să activați Carduri, consultați Activarea sau dezactivarea statisticilor Carduri.

Nu găsiți opțiunile în aplicație?

Există trei posibilități:

  • Nu aveți licența sau rolul necesar. Verificați secțiunea Cerințe de licență și rol din partea de sus a acestei pagini.
  • Administratorul dvs. nu a activat caracteristica.
  • Organizația dvs. folosește o aplicație particularizată. Consultați-vă cu administratorul pentru a afla pașii exacți. Pașii descriși în acest articol sunt specifici aplicațiilor predefinite Hub de vânzări și Sales Professional.

Creați Carduri personalizat în Carduri

Configurați Asistent

Ghidați comunicarea cu clienții cu Asistent