Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Obtenga información sobre cómo descargar el ejemplo y qué recursos están disponibles para crear acciones personalizadas o obtener información sobre cómo extender la tarjeta de acción del asistente.
Crear tarjeta de acción personalizada
El proceso siguiente explica cómo crear una tarjeta personalizada:
- Paso 1: Descargue la solución de ejemplo del tipo de tarjeta extendida del asistente.
- Paso 2: Compile la solución (ExtPkgDeployer.sln).
- Paso 3: Importe el paquete mediante la herramienta del implementador de paquetes.
- Paso 4: Compruebe el nuevo tipo de tarjeta.
- Paso 5: Cree una tarjeta de acción para el nuevo tipo de tarjeta mediante la API web.
- Paso 6: Compruebe la nueva tarjeta personalizada.
Requisitos previos
Revisar los requisitos previos antes de crear las tarjetas personalizadas de la organización:
Debe tener la herramienta Package Deployer (packagedeployer.exe) para implementar paquetes. Para descargar el implementador de paquetes, consulte Descarga de herramientas de NuGet.
Para usar esta característica debe comprar una licencia de Dynamics 365 Sales Insights o iniciar una prueba para utilizar características avanzadas de Sales Insights.
Paso 1: Descargue la solución de ejemplo para ampliar el tipo de tarjeta del Asistente
Descargar la solución de tarjeta personalizada de ejemplo.
Los ejemplos muestran cómo crear una tarjeta personalizada en el Asistente mediante programación.
Vaya al directorio ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources. En la carpeta WebResources puede ver tres archivos necesarios para crear una tarjeta personalizada.
Definición de esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)
Comando (new_commands8db43275-0291-401d-923a-90a6c373cc18)
Icono (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)
Definición de esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)
Definición de esquema para el nuevo tipo de tarjeta.
Nota
Asegúrese de que el valor del identificador del tipo de tarjeta es mayor que 10000.
<?xml version="1.0" encoding="utf-8" ?>
<entity name="cardtype" displayname="Action Card Type">
<cardname>Extensibility Example</cardname>
<cardtypeid>aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</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>
Comando (new_commands8db43275-0291-401d-923a-90a6c373cc18)
El archivo contiene el comando para la tarjeta de acción.
function CardCommand() {
window.open("https://aka.ms/salesai-raext");
}
Al ejecutar el comando, el RibbonDiff definido en el customization.xml de la entidad ActionCard invoca el comando .
<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>
Icono (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)
El archivo contiene el icono que usa la tarjeta.
Paso 2: Crear la solución (ExtPkgDeployer.sln)
Abra la ventana de comandos (cmd).
Vaya a la carpeta raíz.
C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolderEjecute el comando para compilar la solución.
msbuild ExtPkgDeployer.sln
La compilación se ha realizado correctamente. Verá que bajo el <folder>\ExtPkgDeployer\bin\Debug, el PkgFolder y el ExtPkgDeployer.dll se generan.
Paso 3: Importar el paquete mediante la herramienta Package Deployer
Copie
PkgFolderyExtPkgDeployer.dlldesde la carpeta<folder>\ExtPkgDeployer\bin\Debugy péguelo en la ubicación<PackageDeployerToolLocation>\tools.Ejecute la herramienta haciendo doble clic en
PackageDeployer.exedesde la carpeta donde ha guardado la herramienta Package Deployer.En la pantalla de introducción de la herramienta Package Deployer, elija Continuar.
En la pantalla de autenticación, proporcione los detalles de autenticación para conectarse a la instancia de Dynamics 365 Sales donde desea implementar el paquete. Si tiene varias organizaciones, y desea seleccionar la organización donde desea implementar el paquete Unified Service Desk, active la casilla Mostrar la lista de organizaciones disponibles. Elija Iniciar sesión.
La siguiente pantalla muestra información detallada sobre el paquete seleccionado y los elementos que se instalarán en la instancia de Dynamics 365 Sales. Revise la información y elija Siguiente.
La pantalla Preparado para instalar muestra el paquete seleccionado para implementación y el nombre de la organización de Dynamics 365 Sales donde se implementará. Revise la información y elija Siguiente.
La pantalla siguiente muestra el estado de validación del paquete seleccionado para implementar. Después de que la validación se complete con éxito, elija Siguiente.
La siguiente página muestra el estado de la implementación del paquete. Haga clic en Siguiente.
La pantalla siguiente muestra el nombre y la información del paquete que acaba de implementar. Revise la información y elija Finalizar para salir de la herramienta Package Deployer.
Tras implementar el paquete, se crea un nuevo tipo de tarjeta con un identificador 00aa00aa-bb11-cc22-dd33-44ee44ee44ee, que se define en el esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829).
Paso 4: Comprobar el nuevo tipo de tarjeta
Verifique el tipo de tarjeta con el ID '00aa00aa-bb11-cc22-dd33-44ee44ee44ee'. Envíe una solicitud de método GET.
Solicitud
GET [Organization URI]/api/data/v9.0/cardtype(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Respuesta
{
"@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
}
Paso 5: Crear la tarjeta de acción para el nuevo tipo de tarjeta mediante API web.
Cree una tarjeta de acción para el nuevo tipo de tarjeta creado mediante el Package Deployer. Envíe una solicitud de método POST.
Solicitud
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})"
}
Respuesta
HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: http://[Organization URI]/api/data/v9.0/actioncard(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Nota
Abra la consola del explorador y ejecute el comando sessionStorage.clear(); para borrar la caché de sesión.
Paso 6: Comprobar la nueva tarjeta personalizada
Puede comprobar que las tarjetas personalizadas se crean en la organización como usuario final y como administrador.
Como usuario final
Inicie sesión en Dynamics 365 Sales.
En la sección Asistente puede ver la tarjeta de acción creada.
Como administrador
Inicie sesión en Dynamics 365 Sales y vaya a la aplicación Centro de ventas.
Vaya a Cambiar área y seleccione Configuración de Sales Insights.
En el mapa del sitio, seleccione Tarjetas de información en Asistente para ir a la página Administrar tarjetas de información.
En la página Administrar tarjetas de información verá una opción para habilitar tarjetas de acciones personalizadas creadas en su organización.
Para obtener más información sobre cómo activar las tarjetas, consulte Activar o desactivar tarjetas de información.
¿No encuentra las características en su aplicación?
Hay algunas posibilidades:
- No tiene la licencia necesaria para usar esta característica. Consulte la tabla comparativa y la guía de licencias para ver qué funciones están disponibles con su licencia.
- No tiene el rol de seguridad necesario para usar esta característica.
- Para configurar o instalar una característica, debe tener los roles de administración y personalización
- Para usar las características relacionadas con las ventas, debe tener los roles de ventas principales
- Algunas tareas requieren roles funcionales específicos.
- Su administrador no ha activado la característica.
- Su organización está usando una aplicación personalizada. Consulte al administrador para conocer los pasos exactos. Los pasos descritos en este artículo son específicos de las aplicaciones predeterminadas Sales Hub y Sales Professional.
Información relacionada
Cree tarjetas personalizadas en Asistente
Dirigir las comunicaciones con los clientes con el asistente