Przykład: Rozszerz typ karty Asystenta (karta niestandardowa)
Dowiedz się, jak pobrać i jakie zasoby są dostępne do tworzenia niestandardowych akcji lub uzyskaj więcej informacji na temat poszerzania karty akcji asystenta.
Wymagania dotyczące licencji i ról
Typ wymagania | Musisz mieć |
---|---|
Licencja | Dynamics 365 Sales Premium Więcej informacji: Ceny aplikacji Dynamics 365 Sales |
Role zabezpieczeń | Konfigurator systemu Więcej informacji: Predefiniowana role zabezpieczeń dla Sales |
Utwórz niestandardową kartę akcji
Poniższy proces wyjaśnia, jak utworzyć kartę niestandardową:
- Krok 1: Pobierz rozwiązanie przykładowe poszerzania karty asystenta
- Krok 2: Stwórz rozwiązanie (ExtPkgDeployer.sln)
- Krok 3: Importuj pakiet przy użyciu narzędzia Package deployer
- Krok 4: Sprawdź nowy typ karty
- Krok 5: Utwórz kartę akcji dla nowego typu karty przy użyciu interfejsu API sieci Web.
- Krok 6: Sprawdź nową kartę niestandardową
Wymagania wstępne
Przed utworzeniem niestandardowych kart w organizacji należy przejrzeć wymagania wstępne:
Musisz posiadać narzędzie Package Deployer (packagedeployer.exe), aby wdrażać pakiety. Aby pobrać narzędzie Package deployer zobacz Pobieranie narzędzi z NuGet
Aby korzystać z tej funkcji należy zakupić licencję Dynamics 365 Sales Insights, lub rozpocząć wersję próbną, aby korzystać z funkcji Sales Insights.
Krok 1: Pobierz rozwiązanie przykładowe poszerzania karty asystenta
Pobierz przykładowe rozwiązanie karty niestandardowej.
Przykłady pokazują sposób programowego tworzenia karty niestandardowej w Asystencie.
Przejdź do ścieżki ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources
. W folderze WebResources możesz zobaczyć trzy pliki, które są wymagane do tworzenia karty niestandardowej.
Definicja schematu (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)
Polecenie (new_commands8db43275-0291-401d-923a-90a6c373cc18)
Ikona (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)
Definicja schematu (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)
Zawiera definicję schematu dla nowego typu karty.
Uwaga
Upewnij się, że wartość Identyfikatora typu karty jest większa niż 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>
Polecenie (new_commands8db43275-0291-401d-923a-90a6c373cc18)
Plik zawiera polecenie dla karty akcji.
function CardCommand() {
window.open("https://aka.ms/salesai-raext");
}
Podczas wykonywania polecenia, polecenie jest wywoływane za pośrednictwem RibbonDiff
zdefiniowanego w customization.xml encji 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><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>
Ikona (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)
Plik zawiera ikonę używaną dla karty.
Krok 2: Stwórz rozwiązanie (ExtPkgDeployer.sln)
Otwórz wiersz polecenia (cmd).
Przejdź do folderu głównego.
C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder
Wykonaj polecenie, aby utworzyć rozwiązanie.
msbuild ExtPkgDeployer.sln
Kompilacja została zakończona pomyślnie i możesz zobaczyć, że w <folder>\ExtPkgDeployer\bin\Debug
, PkgFolder
i ExtPkgDeployer.dll
zostały wygenerowane.
Krok 3: Importuj pakiet przy użyciu narzędzia Package deployer
Skopiuj
PkgFolder
iExtPkgDeployer.dll
z folderu<folder>\ExtPkgDeployer\bin\Debug
i wklej w lokalizacji<PackageDeployerToolLocation>\tools
.Uruchom narzędzie klikając dwukrotnie
PackageDeployer.exe
z folderu, w którym zostało zapisane narzędzie Package Deployer.Na ekranie wprowadzającym narzędzia Package Deployer wybierz Kontynuuj.
Na ekranie autoryzacji podaj szczegóły uwierzytelniania, aby nawiązać połączenie z wystąpieniem Dynamics 365 Sales, w którym chcesz wdrożyć pakiet. Jeśli masz wiele organizacji i chcesz wybrać organizację, w której chcesz wdrożyć pakiet Unified Service Desk, wybierz pole wyboru Wyświetlaj listę dostępnych organizacji. Wybierz Zaloguj.
Następny ekran wyświetla szczegółowe informacje na temat zaznaczonego pakietu i rzeczy, które zostaną instalowane na Twoim wystąpieniu Dynamics 365 Sales. Przejrzyj informacje i wybierz Dalej.
Ekran Gotowy do instalacji wyświetla pakiet wybrany do wdrożenia i nazwę organizacji Dynamics 365 Sales, w której zostanie on wdrożony. Przejrzyj informacje i wybierz Dalej.
Następny ekran wyświetla stan sprawdzania poprawności pakietu wybranego do wdrożenia. Po pomyślnym zakończeniu sprawdzania poprawności wybierz Dalej.
Następna strona wyświetla stan wdrożenia pakietu. Kliknij przycisk Dalej.
Następny ekran wyświetla nazwę i informacje o pakiecie, która został wdrożony. Przejrzyj informacje, i wybierz Zakończ, aby wyjść z narzędzia Package Deployer.
Po wdrożeniu pakietu, nowy typ karty jest tworzony z Identyfikatorem - 2183dfc0-3c1c-45b7-a331-1943880c25c6
, który jest zdefiniowany w schemacie (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829).
Krok 4: Sprawdź nowy typ karty
Sprawdź typ karty z identyfikatorem '2183dfc0-3c1c-45b7-a331-1943880c25c6'. Wyślij żądanie metody GET.
Żądanie
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
Odpowiedź
{
"@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
}
Krok 5: Utwórz kartę akcji dla nowego typu karty przy użyciu interfejsu API sieci Web
Utwórz kartę akcji dla nowego typu karty utworzonego przy użyciu narzędzia Package Deployer. Wyślij żądanie metody POST.
Zażądaj
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)
Uwaga
Otwórz konsolę przeglądarki i uruchom polecenie, sessionStorage.clear();
, aby wyczyścić pamięć podręczną sesji.
Krok 6: Sprawdź nową kartę niestandardową
Można sprawdzić, czy niestandardowe karty są tworzone w organizacji jako użytkownik końcowy i jako administrator.
Jako użytkownik końcowy
Zaloguj się w Dynamics 365 Sales.
W sekcji Asystent widzisz utworzoną kartę akcji.
Jako administrator
Zaloguj się do Dynamics 365 Sales i przejdź do Aplikacja centrum sprzedaży.
Przejdź do Zmień obszar i wybierz Ustawienia Sales Insights.
Na mapie witryny wybierz Karty Insights w Asystent, aby przejść na stronę Zarządzanie kartami wyników analiz.
Na stronie Zarządzanie kartami wyników analiz widzisz opcję umożliwiającą włączanie niestandardowych kart akcji tworzonych w organizacji.
Aby dowiedzieć się więcej o sposobie włączania kart, zobacz Włączanie i wyłączanie kart wyników analiz.
Nie możesz znaleźć opcji w swojej aplikacji?
Istnieją trzy możliwości:
- Nie masz wymaganej licencji ani roli. Zapoznaj się z sekcją Wymagania dotyczące licencji i ról w górnej części tej strony.
- Administrator nie włączył tej funkcji.
- Organizacja używa niestandardowej aplikacji. Skontaktuj się z administratorem, aby poznać dokładne kroki. Kroki opisane w tym artykule są specyficzne dla gotowej aplikacjach Centrum sprzedaży lub Sales Professional.
Informacje pokrewne
Utwórz karty niestandardowe w Asystencie
Używanie asystenta w celu prowadzenia komunikacji z klientami