Abrir formularios, vistas, diálogos e informes con una dirección URL

Los elementos direccionables de dirección URL le permiten incluir vínculos a formularios, vistas, cuadro de diálogo e informes de Dynamics 365 Customer Engagement (on-premises) en otras aplicaciones. De esta manera, puede ampliar fácilmente otras aplicaciones, informes o sitios web para que los usuarios puedan ver información y realizar acciones sin cambiar de aplicación.

Nota

  • Los formularios, las vistas, los diálogos y los informes direccionables mediante dirección URL no pueden omitir la seguridad de Dynamics 365 Customer Engagement (on-premises). Solo los usuarios con licencia de Dynamics 365 Customer Engagement (on-premises), en función de sus roles de seguridad, pueden acceder a los datos y los registros que ven.
    • Use Xrm.Navigation.openForm cuando abra formularios de entidad mediante programación dentro de la aplicación mediante el uso de recursos web. No use window.open.
    • Fuera de la aplicación, donde las páginas no tienen acceso a la función Xrm.Navigation.openForm, use window.open o un vínculo para abrir un registro o formulario determinado para una entidad.

Formularios y vistas direccionables mediante dirección URL

Todos los formularios y las vistas de entidad se muestran en la página main.aspx. Los parámetros de cadena de consulta pasados a esta página controlarán lo que se muestra. Por ejemplo:

Para abrir un nuevo formulario de registro de la entidad de cuenta para las implementaciones locales de Dynamics 365 Customer Engagement (on-premises):

https://mycrm/myOrg/main.aspx?etn=account&pagetype=entityrecord  

Para abrir un formulario de registro de la entidad para Dynamics 365 for Customer Engagement con el identificador {91330924-802A-4B0D-A900-34FD9D790829}:

https://myorg.crm.dynamics.com/main.aspx?etn=account&pagetype=entityrecord&id=%7B91330924-802A-4B0D-A900-34FD9D790829%7D  

Para abrir la vista Oportunidades Cerradas para Dynamics 365 for Customer Engagement:

https://myorg.crm.dynamics.com/main.aspx?etn=opportunity&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010003006%7d&viewtype=1039  

Para abrir la vista Contactos activos para Dynamics 365 for Customer Engagement sin la barra de navegación o la barra de comandos

https://myorg.crm.dynamics.com/main.aspx?etn=contact&pagetype=entitylist&viewid={00000000-0000-0000-00AA-000010001004}&viewtype=1039&navbar=off&cmdbar=false  

Nota

La apertura de formularios de entidad en una ventana de diálogo mediante showModalDialog o showModelessDialog no se admite.

No se puede mostrar un formulario de entidad en un iFrame incrustado en otro formulario de entidad.

Normalmente usará el método getClientUrl para recuperar la dirección URL raíz de la organización para las implementaciones locales de Dynamics 365 Customer Engagement (on-premises) y Dynamics 365 for Customer Engagement.

Parámetros de cadena de consulta para la página Main.aspx

Propina

Para obtener el valor del identificador de cualquier registro, use el botón Enviar un vínculo de la barra de comandos. A continuación tiene un ejemplo de lo que se abrirá en la aplicación de correo electrónico:

<https://mycrm/myOrg/main.aspx?etc=4&id=%7b899D4FCF-F4D3-E011-9D26-00155DBA3819%7d&pagetype=entityrecord>.

El parámetro de identificador pasado a la dirección URL es el valor de identificador codificado del registro. En este ejemplo, el valor de identificador es {899D4FCF-F4D3-E011-9D26-00155DBA3819}. La versión codificada del GUID sustituirá las llaves de apertura y cierre “{” y “}” por “%7B” y “%7D”, respectivamente,

A continuación se indican los parámetros de cadena de consulta que se usan con la página main.aspx para abrir formularios o vistas de entidad:

Parámetro Description
etn Nombre lógico de la entidad. Importante: No use el parámetro etc (código de tipo de entidad) que contiene un código entero para la entidad. El código entero varía para las entidades personalizadas de distintas organizaciones.
extraqs Opcional para formularios. Este parámetro contiene parámetros codificados en este parámetro.

Use este parámetro para transferir valores a un formulario. Para obtener más información, consulte Establecer los valores de campo mediante parámetros que se pasan a un formulario.

Cuando una entidad tiene más de un formulario definido, puede usar este parámetro para especificar qué formulario se debe abrir pasando el parámetro codificado formid con el valor igual al valor del identificador del formulario. Por ejemplo, para abrir un formulario con el identificado ‘6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf’, incluya este valor en el parámetro extraqs: formid%3D6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf%0D%0A.
pagetype El tipo de página. Hay dos valores posibles:

- entityrecord
Muestra un formulario de registro de la entidad.
- entitylist
Muestra una vista de entidad.
id Opcional para formularios. Utilícelo cuando abra un registro de entidad específico. Pase el identificador GUID codificado de la entidad. La versión codificada del GUID sustituirá las llaves de apertura y cierre “{“ y “}” por “%7B” y “%7D”, respectivamente, por ejemplo {91330924-802A-4B0D-A900-34FD9D790829} es %7B91330924-802A-4B0D-A900-34FD9D790829%7D.
viewid Necesario para vistas. Este es el identificador del registro de entidad savedquery o userquery que define la vista. La forma más fácil de obtener la dirección URL de una vista es copiarla. Para obtener más información, consulte Copiar la dirección URL de una vista.
viewtype Define el tipo de vista. Los valores posibles son los siguientes:

- 1039
Úselo para una vista de sistema. El parámetro viewid representa el identificador de un registro savedquery.
- 4230
Úselo para una vista personal. El parámetro viewid representa el identificador de un registro userquery.
navbar Controla si la barra de navegación se muestra y si la navegación por la aplicación está disponible mediante las áreas y subáreas definidas en el mapa del sitio.

- on
Se muestra la barra de navegación. Este es el comportamiento predeterminado si el parámetro navbar no se usa.
- off
No se muestra la barra de navegación. Los usuarios pueden navegar usando otros elementos de la interfaz de usuario o los botones adelante y atrás.
- entity
En un formulario de entidad, solo las opciones de navegación de entidades relacionadas están disponibles. Después de navegar a una entidad relacionada, se muestra un botón atrás en la barra de navegación para permitir volver al registro original.
cmdbar Controla si se muestra la barra de comandos. Nota: esta función admite los requisitos de la aplicación de Unified Service Desk para Dynamics 365. No se admite su uso para mostrar un formulario de entidad en un IFrame incrustado en otro formulario de entidad.

- true
Se muestra la barra de comandos. Esta es la configuración predeterminada.
- false
Se oculta la barra de comandos.

Copia de la dirección URL para una vista

Muchas vistas de Dynamics 365 Customer Engagement (on-premises) permiten a un usuario copiar la dirección URL de una vista determinada o enviar un correo electrónico con la dirección URL de una vista determinada incrustada en el mensaje. Esta característica facilita la comunicación entre usuarios, y expone una forma de obtener acceso a una dirección URL para una vista que los usuarios pueden incluir en otra aplicación, como un sitio de SharePoint.

Nota

No use esta dirección URL para incluir la vista en la navegación de la aplicación mediante el mapa del sitio. Para obtener más información, consulte Mostrar una vista en la navegación de la aplicación con el mapa del sitio.

La página mostrada por la dirección URL incluye la vista completa. Esto incluye la cinta de opciones, pero no la navegación de la aplicación.

Obtención de la dirección URL para una vista
  1. Abra la vista que desea usar.

  2. En la barra de comandos, haga clic en Enviar un vínculo y, a continuación, en De la vista actual.

  3. Péguelo en el Bloc de notas y edítelo para extraer solo la parte de la dirección URL del texto que desee.

Nota

  • Las vistas que usan el contexto del usuario como un parámetro, como Mis cuentas, no se pueden copiar.
    • El GUID que representa vistas del sistema para las entidades del sistema será igual para todas las instalaciones de Dynamics 365 Customer Engagement (on-premises) locales. El GUID para las entidades y vistas personalizadas será único para cada instalación de Dynamics 365 Customer Engagement (on-premises).

Visualización de una vista en la navegación de la aplicación mediante el mapa del sitio

Al personalizar la navegación por la aplicación mediante el mapa del sitio, no use la dirección URL de la vista que copió de la aplicación con los pasos descritos en Copiar la dirección URL de una vista para establecerla como dirección URL. Esta dirección URL muestra una página que incluye la cinta de opciones y genera resultados indeseables si se usa en un atributo de URL <SubArea>.

Para mostrar una lista de registros de entidades dentro de la aplicación para una subárea, establezca el valor del atributo Entity. Esto muestra la vista predeterminada para esa entidad y proporciona el título y el icono correctos.

Sin embargo, si desea tener un elemento SubArea que use una vista determinada predeterminada inicial específica, use el patrón de URL siguiente cuando trabaje con la Interfaz unificada.

[Organization Url]/main.aspx?pagetype=entitylist&etn=<entity logical name >&viewid=%7b00000000-0000-0000-0000-000000000000%7d&viewType=1039

Para el cliente web heredado, use la siguiente dirección URL.

[Organization Url]/homepage.aspx?etn=<entity logical name >&viewid=%7b00000000-0000-0000-0000-000000000000%7d  

Al usar esta dirección a URL, también debe especificar los valores adecuados para <Titles> y <Descriptions>, y especificar un icono para la entidad.

Nota

Si especifica la vista mediante la página .../homepage.aspx, el selector de vista seguirá mostrándose. Si el usuario cambia la vista, Dynamics 365 Customer Engagement (on-premises) recuerda la selección más reciente y muestra la vista predeterminada inicial una vez que cierre y reinicie de nuevo el explorador.

Apertura de un proceso de diálogo mediante una dirección URL

Una personalización común es permitir que un usuario abra un determinado proceso de diálogo en el contexto de un registro específico. Por ejemplo, es posible que desee agregar un botón personalizado a la cinta de opciones para una entidad específica usando el valor del identificador del registro actual como un parámetro de entrada del proceso de diálogo.

Para abrir un diálogo necesita lo siguiente:

  • El identificador único del diálogo.

  • El nombre lógico de la entidad para la que se crea el diálogo.

  • El identificador único del registro en el que desea que se ejecute el diálogo.

Propina

Para obtener el identificador único del diálogo, vaya a Configuración, en la solución predeterminada seleccione Procesos. Seleccione un proceso y en las opciones Acciones de la barra de comandos, haga clic en Copiar un enlace. Esto copiará un vínculo para modificar el diálogo en el portapapeles, por ejemplo, [URL de la organización]/sfa/workflow/edit.aspx?id=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d.

El siguiente ejemplo muestra los parámetros de la dirección URL y la cadena de consulta para abrir un diálogo:

[organization url]/cs/dialog/rundialog.aspx?DialogId=[dialog unique identifier]&EntityName=[entity logical name]&ObjectId=[unique identifier for the record]  

Por ejemplo, abra el diálogo con Id. ={6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976} con el Id. de registro de cuenta = {40C9ADFD-90A8-DF11-840E-00155DBA380F}, use la dirección URL del siguiente ejemplo.

[organization url]/cs/dialog/rundialog.aspx?DialogId=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d&EntityName=account&ObjectId=%7b40C9ADFD-90A8-DF11-840E-00155DBA380F%7d  

Propina

En los exploradores que no sean Internet Explorer, si un proceso de diálogo se abre desde un vínculo, es posible que el botón Finalizar no funcione. Los datos se guardarán, pero el usuario deberá hacer clic en el botón Cerrar en la ventana para cerrarla. Esto se debe a que otros exploradores no proporcionan un método window.close si la ventana no se abre usando JavaScript desde otra ventana. Siempre que sea posible, use JavaScript y el método window.open para abrir procesos de diálogo en lugar de simplemente proporcionar vínculos.

Puede crear una función de JavaScript para abrir el diálogo como se muestra en el siguiente ejemplo:

function openDialogProcess(dialogId, entityName, objectId)  
{  
 var url = Xrm.Page.context.getClientUrl() +  
  "/cs/dialog/rundialog.aspx?DialogId=" +  
  dialogId + "&EntityName=" +  
  entityName + "&ObjectId=" +  
  objectId;  
 window.open(url);  
}  

Apertura de un informe mediante una dirección URL

Puede abrir un informe pasando valores de parámetros apropiados la siguiente dirección URL: [organization url]/crmreports/viewer/viewer.aspx.

Esta dirección URL acepta los siguientes parámetros:

acción
Dos valores posibles para este parámetro son run o filter. Si se utiliza run, el informe se mostrará usando los filtros predeterminados. Cuando se usa, filter el informe muestra un filtro que el usuario puede modificar antes de elegir el botón Ejecutar informe para ver el informe.

helpID
Este parámetro es opcional. Para los informes incluidos en Dynamics 365 Customer Engagement (on-premises) el valor de este parámetro permite que el botón Ayuda muestre contenido apropiado sobre este informe cuando se selecciona Ayuda de esta página. El valor debe corresponder al valor de atributo FileName del informe.

id
Este parámetro es el valor del atributo ReportId del informe.

Los siguientes ejemplos muestran las direcciones URL que se pueden usar para abrir informes en Dynamics 365 Customer Engagement (on-premises).

Abra el informe Casos sin atender mediante el filtro predeterminado:

[organization url]/crmreports/viewer/viewer.aspx?action=run&helpID=Neglected%20Cases.rdl&id=%7b8c9f3e6f-7839-e211-831e-00155db7d98f%7d  

Abra el informe Mejores artículos de Knowledge Base e indique al usuario que establezca valores de filtro:

[organization url]/crmreports/viewer/viewer.aspx?action=filter&helpID=Top%20Knowledge%20Base%20Articles.rdl&id=%7bd84ec390-7839-e211-831e-00155db7d98f%7d  

La función siguiente muestra cómo codificar valores correctamente en la dirección URL:

function getReportURL(action,fileName,id) {  
 var orgUrl = GetGlobalContext().getClientUrl();  
 var reportUrl = orgUrl +   
  "/crmreports/viewer/viewer.aspx?action=" +  
  encodeURIComponent(action) +  
  "&helpID=" +  
  encodeURIComponent(fileName) +  
  "&id=%7b" +  
  encodeURIComponent(id) +  
  "%7d";  
 return reportUrl;  
}  

Vea también

Amplíe Dynamics 365 Customer Engagement (on-premises) en el cliente
Establecer valores de campo usando parámetros pasados a un formulario
Configurar un formulario para aceptar parámetros querystring personalizados
Cambiar navegación de la aplicación con el mapa del sitio
Personalice la cinta de opciones de Dynamics 365 Customer Engagement (on-premises)Scripts del cliente en Customer Engagement mediante JavaScriptRecursos web para Dynamics 365 Customer Engagement (on-premises)
Iniciar un diálogo mediante una dirección URL