Definir las reglas de habilitación de la cinta de opciones

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Al configurar los elementos de la cinta de opciones se pueden definir las reglas para supervisar cuando se habilitan los elementos de la cinta de opciones. El elemento <EnableRule> (RibbonDiffXml) se usa de la siguiente manera:

  • Use el elemento /RuleDefinitions/EnableRules/EnableRule para definir las reglas que controlan cuando el elemento de la cinta de opciones debe habilitarse.

  • Use el elemento /CommandDefinitions/CommandDefinition/EnableRules/EnableRule para asociar reglas de habilitación específicas a una definición de comando.

¿Qué significa estar habilitado?

En la barra de comandos, los comandos deshabilitados están ocultos. En la cinta de opciones, los comandos deshabilitados están visibles pero no responden a eventos.

Controlar cuando los elementos de la cinta de opciones están habilitados

Las reglas de habilitación se proporcionan para que puedan reutilizarse. Al definirlas con definiciones de reglas, se puede usar la misma regla de habilitación para muchas definiciones de comando. Cuando más de una regla de habilitación está definida para una definición de comando, todas las reglas de habilitación deben evaluarse como true para que el elemento de la cinta de opciones esté habilitado.

Todas las reglas de habilitación proporcionan un atributo opcional para especificar si el valor predeterminado de la regla es true o false, y un atributo InvertResult opcional para permitir que se devuelva un resultado negativo cuando el elemento que se está probando devuelve true.

El elemento /RuleDefinitions/EnableRules/EnableRule admite los siguientes tipos de reglas:

  • <CommandClientTypeRule> (RibbonDiffXml)
    Especifica una regla que detecta el tipo de presentación que se usa.

    Los valores Type corresponden a lo siguiente:

    Valor

    Presentación

    Modern

    La barra de comandos se muestra mediante Microsoft Dynamics 365 para tabletas.

    Refresh

    La barra de comandos se muestra mediante la interfaz de usuario actualizada.

    Legacy

    La cinta de opciones se muestra en los formularios de entidades que no se actualizaron o en una vista de lista en Microsoft Dynamics 365 para Outlook.

  • <CrmClientTypeRule> (RibbonDiffXml)
    Permite la definición de reglas según el tipo de cliente usado. Las opciones de tipo son las siguientes:

    • Web

    • Outlook

  • <CrmOfflineAccessStateRule> (RibbonDiffXml)
    Use este criterio para habilitar un elemento de la cinta de opciones en función de si Microsoft Dynamics 365 para Microsoft Office Outlook con acceso sin conexión está actualmente sin conexión.

  • <CrmOutlookClientTypeRule> (RibbonDiffXml)
    Use esta regla si desea mostrar solo un botón para un tipo específico de Microsoft Dynamics 365 para Outlook. Las opciones de tipo son las siguientes:

    • CrmForOutlook

    • CrmForOutlookOfflineAccess

  • <CustomRule> (RibbonDiffXml)
    Use este tipo de regla para llamar a una función de una biblioteca de JavaScript que devuelve un valor booleano.

    Nota

    Las reglas personalizadas que no devuelven un valor rápidamente pueden afectar al rendimiento de la cinta de opciones. Si tiene que realizar la lógica que puede tardar algún tiempo en completarse, use la siguiente estrategia para crear su regla personalizada asincrónica:

    1. Defina una regla que compruebe si tiene un objeto personalizado. Puede comprobar si tiene un objeto como Window.ContosoCustomObject.RuleIsTrue que acaba de adjuntar a la ventana.

    2. Si existe el objeto, debe devolverlo

    3. Si no existe el objeto, defina el objeto y establezca el valor como false.

    4. Antes de devolver un valor, use settimeout para ejecutar una función de devolución de llamada asincrónica para volver a diseñar el objeto. Después devuelva false.

    5. Después de que la función de devolución de llamada haya realizado las operaciones necesarias para determinar el resultado correcto, establece el valor del objeto y usa el método refreshRibbon para actualizar la cinta de opciones.

    6. Cuando se actualiza la cinta de opciones, esta detecta el objeto así como el conjunto exacto de valores y se evalúa la regla.

  • <EntityRule> (RibbonDiffXml)
    Las reglas de la entidad permiten la evaluación de la entidad actual. Esto resulta útil al definir acciones personalizadas que se aplican a la plantilla de la entidad en lugar de a las entidades específicas. Por ejemplo, es posible que desee agregar un elemento de la cinta de opciones en todas las entidades excepto en algunas entidades específicas. Es más fácil definir la acción personalizada de la plantilla de la entidad que se aplica a todas las entidades y después usar una regla de la entidad para filtrar aquellas que se deben excluir.

    Las reglas de la entidad también incluyen un atributo de contexto opcional para especificar si se muestra la entidad en el formulario o en una lista (HomePageGrid). El atributo opcional AppliesTo se puede establecer en PrimaryEntity o en SelectedEntity para distinguir si se muestra la entidad en una subcuadrícula.

  • <FormStateRule> (RibbonDiffXml)
    Use la regla FormState para determinar el tipo actual de formulario que se muestra en un registro. Las opciones de estado son las siguientes:

    • Create

    • Existing

    • ReadOnly

    • Disabled

    • BulkEdit

  • <OrRule> (RibbonDiffXml)
    OrRule permite reemplazar el valor de comparación predeterminado AND para varios tipos de reglas de habilitación. Use el elemento OrRule para definir varias combinaciones posibles válidas para comprobar.

  • <OutlookItemTrackingRule> (RibbonDiffXml)
    Use el atributo TrackedInCrm de este elemento para determinar si se realiza el seguimiento del registro en Microsoft Dynamics 365.

  • <OutlookVersionRule> (RibbonDiffXml)
    Use esto para habilitar un elemento de la cinta de opciones de una versión determinada de Microsoft Office Outlook, de la siguiente manera:

    • 2003

    • 2007

    • 2010

  • <PageRule> (RibbonDiffXml)
    Este tipo de regla compruebe la dirección URL de la página que se muestra. Devuelve true si coincide con Address.

  • <RecordPrivilegeRule> (RibbonDiffXml)
    Use esta regla para determinar si el usuario actual tiene privilegios en un registro específico. Estos privilegios difieren del privilegio de la entidad porque pueden incluir los privilegios obtenidos por otro usuario que comparte el registro con el usuario actual.

  • <SelectionCountRule> (RibbonDiffXml)
    Use este tipo de regla con una cinta de opciones para que aparezca una lista para habilitar un botón cuando se seleccionan los números de registros máximos y mínimos específicos en la cuadrícula. Por ejemplo, si el botón combina los registros, debe asegurarse de que al menos dos registros están seleccionados antes de habilitar el control de la cinta de opciones.

  • <SkuRule> (RibbonDiffXml)
    Use este tipo de regla para habilitar un elemento de la cinta de opciones para una versión de SKU determinada de Microsoft Dynamics 365, de la siguiente manera:

    • OnPremise

    • Online

    • Spla

  • <ValueRule> (RibbonDiffXml)
    Use esta regla para comprobar el valor de un campo específico en el registro que se muestra en el formulario. Debe especificar Field y Value para comprobar.

Ver también

Personalizar los comandos y la cinta de opciones
Definir comandos de la cinta de opciones
Defina las reglas de la visualización de la cinta de opciones

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright