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><Dependencies><Dependency componentType="WebResource"/></Dependencies></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><Dependencies><Dependency componentType="WebResource"/></Dependencies></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><Dependencies><Dependency componentType="WebResource"/></Dependencies></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)
Deschideți promptul de comandă (cmd).
Accesați folderul rădăcină.
C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder
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
Copiați
PkgFolder
șiExtPkgDeployer.dll
din folderul<folder>\ExtPkgDeployer\bin\Debug
și inserați-l în locația<PackageDeployerToolLocation>\tools
.Rulați instrumentul făcând dublu clic pe
PackageDeployer.exe
din folderul în care ați salvat instrumentul de implementare a pachetelor.În ecranul de introducere al instrumentului Package Deployer , alegeți Continuați.
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.
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.
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.
Ecranul următor afișează starea de validare a pachetului selectat pentru implementare. După ce validarea s-a încheiat cu succes, alegeți Next.
Pagina următoare afișează starea de implementare a pachetului. Faceți clic pe Următorul.
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
Conectați-vă la Dynamics 365 Sales.
În secțiunea Asistent , puteți vedea acțiunea creată de dvs. card.
Ca administrator
Conectați-vă la Dynamics 365 Sales și accesați aplicația Hub de vânzări.
Accesați Zona de modificare și selectați Setări Sales Insights.
Pe harta site-ului, selectați Insights Carduri sub Asistent pentru a accesa Gestionați insight Carduri pagina.
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.