Reemplazo del comportamiento de apertura predeterminado de las filas de datos en una cuadrícula vinculada a entidad

Nota

Este tema trata sobre comandos clásicos.

Hay una nueva forma de definir comandos. Consulte Información general de los comandos modernos (versión preliminar)

Obtenga información sobre cómo invalidar el comportamiento abierto predeterminado de las filas de datos en una cuadrícula enlazada a la entidad para que la selección de una fila ejecute una acción personalizada, como abrir una dirección URL. De forma predeterminada, cualquiera de las acciones siguientes abre el registro de tabla:

  • Haga doble clic en la fila de datos o seleccione el enlace de la columna principal en la fila.
  • Seleccionar una fila de datos y después pulsar la tecla Intro.
  • En un dispositivo táctil, al seleccionar una fila de datos.

Puede haber situaciones en las que no desee que se abra el registro de la tabla (que es el comportamiento predeterminado), pero desea que se realice una acción personalizada, como abrir una URL mediante funciones de JavaScript. Puede anular el comportamiento predeterminado y definir su propio comportamiento personalizado creando una definición de comando para una tabla con Mscrm.OpenRecordItem como el valor del parámetro de id. CommandDefinition y definir una acción personalizada en la pestaña Acciones. La aplicación busca el id. de comando Mscrm.OpenRecordItem para una tabla cuando intenta abrir un registro desde la cuadrícula enlazada a la entidad y, si hay uno presente, ejecutará la acción personalizada en lugar de realizar el comportamiento predeterminado de abrir el registro de la tabla.

Nota

  • Esta característica solo se admite para Interfaz unificada.
  • También puede usar Ribbon Workbench, una herramienta de la comunidad, para editar visualmente las cintas de opciones a través de la interfaz de usuario. Tenga en cuenta que las herramientas creadas por la comunidad no cuentan con soporte de Microsoft. Si tiene preguntas o problemas con las herramientas de comunidades, póngase en contacto con el editor de la herramienta.

Para especificar una acción personalizada cuando se selecciona un registro de tabla, complete los pasos siguientes:

  1. Crear un recurso web para realizar la acción.
  2. Cree un botón personalizado en el formulario editando el archivo customization.xml.
  3. Importe el archivo customization.xml.

Paso 1: Crear un recurso web

Cree un recurso web para cambiar el comportamiento predeterminado. En el ejemplo siguiente, si desea abrir una dirección URL en lugar de mostrar el registro, cree un recurso web de JavaScript para realizar esa acción.

Crear una nueva solución o editar una solución existente

  1. Siga las instrucciones de Creación de una solución o inicie sesión en Power Apps y seleccione Soluciones en el panel de navegación izquierdo. Seleccione la solución no administrada que desea editar.

  2. Abra la solución y, a continuación, seleccione Objetos en el panel de navegación izquierdo.

  3. En el menú, seleccione + Nuevo>Más>Recurso web.

    Captura de pantalla de la opción de menú para crear un recurso web de JavaScript.

  4. Copie el código siguiente, péguelo en el campo Código y edite el valor de la dirección URL que desea abrir:

    function ChangeBehavior(){
    
     // Enter the url
     var url =  "Enter the URL";
     var OpenUrlOptions = {height: 800, width: 1000};
     Xrm.Navigation.openUrl(url, openUrlOptions);
    }
    
  5. Escriba el nombre del recurso web y seleccione el tipo de archivo como JavaScript (JS).

  6. Guarde y publique el recurso web.

Paso 2: Crear un botón personalizado

Cree un botón personalizado en el formulario donde desea cambiar el comportamiento predeterminado. Por ejemplo, si tiene una subcuadrícula en el formulario de cuentas que muestra registros de contacto en la subcuadrícula, debe crear un botón y agregarlo al formulario de contacto. Puede crear un botón editando el archivo customization.xml.

  1. Abra la solución que creó en el paso 1 y agregue la tabla donde desea crear el botón. No es necesario incluir todos los componentes y metadatos de la tabla.

  2. Seleccione Agregar existente>Tabla.

  3. Seleccione Contacto en la lista.

  4. Guarde y publique la solución.

  5. Vaya a Información general y seleccione Exportar para realizar modificaciones en el archivo customization.xml.

    Captura de pantalla del comando Exportar para una solución no administrada.

  6. Si ha realizado cambios recientes que no ha publicado, seleccione Publicar, seleccione Ejecutar para comprobar si la solución tiene problemas o dependencias y, a continuación, seleccione Siguiente.

    Captura de pantalla de las opciones para publicar la solución antes de exportarla.

  7. Con la opción No administrada seleccionada, seleccione Ejecutar comprobador de soluciones en la exportación y seleccione Exportar.

    Captura de pantalla de la opción No administrada seleccionada para la exportación de soluciones.

  8. Cuando la solución esté lista, seleccione el botón Descargar.

    foo

  9. En el cuadro de diálogo Descargas , seleccione Abrir carpeta.

  10. Haga clic con el botón derecho para seleccionar el archivo .zip comprimido que descargó y, a continuación, seleccione Extraer todo....

  11. Seleccione una ubicación para extraer los archivos y luego seleccione Extraer.

    El customizations.xml archivo es el archivo que edita.

    Nota

    Puede habilitar o deshabilitar el botón; cualquiera de las dos acciones sigue anulando el comportamiento predeterminado de apertura.

  12. Abra el archivo, copie el customization.xml código siguiente y reemplace el código dentro de RibbonDiffXml:

    <RibbonDiffXml>
    <CustomActions>
      <CustomAction Id="cr5c1.Mscrm.OpenRecordItem.CustomAction"
        Location="Mscrm.SubGrid.contact.MainTab.Management.Controls._children"
        Sequence="28">
        <CommandUIDefinition>
          <Button Alt="$LocLabels:Mscrm.OpenRecordItem.Alt"
            Command="Mscrm.OpenRecordItem"
            Id="Mscrm.OpenRecordItem"
            LabelText="$LocLabels:Mscrm.OpenRecordItem.LabelText"
            Sequence="28"
            TemplateAlias="o1"
            ToolTipTitle="$LocLabels:Mscrm.OpenRecordItem.ToolTipTitle"
            ToolTipDescription="$LocLabels:Mscrm.OpenRecordItem.ToolTipDescription" />
        </CommandUIDefinition>
      </CustomAction>
    </CustomActions>
    <Templates>
      <RibbonTemplates Id="Mscrm.Templates" />
    </Templates>
    <CommandDefinitions>
      <CommandDefinition Id="Mscrm.OpenRecordItem">
        <EnableRules />
        <DisplayRules />
        <Actions>
          <JavaScriptFunction FunctionName="ChangeBehavior"
            Library="$webresource:cr5c1_samplescript" />
        </Actions>
      </CommandDefinition>
    </CommandDefinitions>
    </RibbonDiffXml>
    

    Nota

    Debe reemplazar el nombre de la función y el nombre del recurso web en el archivo XML anterior. Edite el archivo XML de ejemplo anterior para reemplazarlo por su propio publicador predeterminado.

    En este ejemplo se cambia el botón de una subcuadrícula en el formulario de cuentas que muestra registros de contacto en la subcuadrícula. Por lo tanto, la Location es Location="Mscrm.SubGrid.contact.MainTab.Management.Controls._children". Debe cambiar este valor para aplicarlo a otro botón.

Paso 3: Importar el archivo XML

  1. Después de editar el customization.xml archivo, abra la carpeta contenedora.

  2. Seleccione todos los archivos o carpetas que se incluyeron cuando se extrajo la solución. Haga clic con el botón derecho en los archivos seleccionados, seleccione Comprimir a... y, a continuación, seleccione Archivo ZIP.

    Nota

    Este paso crea un archivo .zip comprimido en la misma carpeta. El nombre del archivo varía, pero es el mismo que uno de los otros archivos de la carpeta, excepto con una extensión de nombre de archivo .zip.

  3. Inicie sesión en Power Apps y seleccione Soluciones en el panel izquierdo.

  4. En la barra de comandos, seleccione Importar solución.

    Captura de pantalla del comando Importar en la barra de comandos Soluciones.

  5. En la página Importar una solución , seleccione Examinar para buscar el archivo de .zip comprimido que contiene la solución que desea importar.

  6. Seleccione Siguiente.

  7. En la página que muestra información sobre la solución, seleccione Importar.

  8. Espere unos momentos mientras se completa la importación. Vea los resultados y, a continuación, seleccione Cerrar.

Si importa algún cambio que requiera publicación, debe publicar personalizaciones antes de que estén disponibles.

Si la importación no se completa correctamente, verá un informe que muestra cualquier error o advertencia detectados. Seleccione Descargar archivo de registro para ver detalles sobre la causa del error de importación. La causa más común para que una importación falle es que la solución no contenía algunos componentes requeridos.

Al descargar el archivo de registro, obtendrá un archivo XML que puede abrir con Excel para ver el contenido.

Consulte también

Ribbon Workbench
Personalizar la cinta