Definire le regole di abilitazione della barra multifunzione

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

Quando si configurano gli elementi della barra multifunzione è possibile definire regole specifiche per controllare quando tali elementi devono essere abilitati. L'elemento <EnableRule> (RibbonDiffXml) viene utilizzato come illustrato di seguito:

  • Utilizzare l'elemento /RuleDefinitions/EnableRules/EnableRule per definire regole che controllano quando l'elemento della barra multifunzione deve essere abilitato.

  • Utilizzare l'elemento /CommandDefinitions/CommandDefinition/EnableRules/EnableRule per associare regole di abilitazione specifiche a una definizione di comando.

Che cosa si intende per abilitato?

Con la barra dei comandi i comandi disabilitati sono nascosti. Con la barra multifunzione i controlli disabilitati sono visibili ma non rispondono agli eventi.

Controllare quando gli elementi della barra multifunzione sono abilitati

Le regole di abilitazione sono progettate per essere riutilizzate. Definendole con le definizioni delle regole, è possibile utilizzare la stessa regola di abilitazione per molte definizioni di comando. Se per una definizione di comando sono definite più regole di abilitazione, tutte le regole di abilitazione devono restituire true affinché l'elemento della barra multifunzione venga abilitato.

Tutte le regole di abilitazione forniscono un attributo facoltativo per specificare se il valore predefinito della regola è true o false e un attributo facoltativo InvertResult per consentire la restituzione di un risultato negativo in cui l'elemento testato restituisca true.

L'elemento /RuleDefinitions/EnableRules/EnableRule supporta i tipi di regole seguenti:

  • <CommandClientTypeRule> (RibbonDiffXml)
    Specifica una regola con cui si rileva il tipo di presentazione utilizzata.

    I valori Type corrispondono ai seguenti:

    Valore

    Presentazione

    Modern

    La barra dei comandi viene presentata mediante Microsoft Dynamics CRM per tablet.

    Refresh

    La barra dei comandi viene presentata tramite l'interfaccia utente aggiornata.

    Legacy

    La barra multifunzione viene presentata nei moduli per le entità che non sono state aggiornate o in una visualizzazione elenco in Microsoft Dynamics CRM per Outlook.

  • <CrmClientTypeRule> (RibbonDiffXml)
    Consente di definire le regole in base al tipo di client utilizzato. Le opzioni dei tipi sono le seguenti:

    • Web

    • Outlook

  • <CrmOfflineAccessStateRule> (RibbonDiffXml)
    Utilizzare questo criterio per abilitare un elemento della barra multifunzione in base al fatto che Microsoft Dynamics CRM per Microsoft Office Outlook con accesso offline sia attualmente offline.

  • <CrmOutlookClientTypeRule> (RibbonDiffXml)
    Utilizzare questa regola se si desidera visualizzare solo un pulsante per uno specifico tipo di Microsoft Dynamics CRM per Outlook. Le opzioni dei tipi sono le seguenti:

    • CrmForOutlook

    • CrmForOutlookOfflineAccess

  • <CustomRule> (RibbonDiffXml)
    Utilizzare questo tipo di regola per chiamare una funzione in una libreria JavaScript che restituisce un valore booleano.

    Nota

    Le regole personalizzate che restituiscono rapidamente un valore possono influire sulle prestazioni della barra multifunzione. Se è necessario eseguire la logica il cui completamento potrebbe richiedere alcuni minuti, utilizzare la seguente strategia per rendere la regola personalizzata asincrona:

    1. Definire una regola che controlli un oggetto personalizzato. È possibile controllare la presenza di un oggetto come Window.ContosoCustomObject.RuleIsTrue che è possibile allegare solo nella finestra.

    2. Se tale oggetto esiste, restituirlo.

    3. Se tale oggetto non esiste, definire l'oggetto e impostare il valore come false.

    4. Prima di restituire un valore, utilizzare settimeout per eseguire una funzione di asincrona per reimpostare l'oggetto. Quindi restituire false.

    5. Dopo che la funzione di callback ha eseguito le operazioni richieste per determinare il risultato corretto, imposta il valore dell'oggetto e utilizza il metodo refreshRibbon per aggiornare la barra multifunzione.

    6. Quando la barra multifunzione viene aggiornata, rileva l'oggetto insieme al set di valori preciso impostato e la regola viene valutata.

  • <EntityRule> (RibbonDiffXml)
    Le regole di entità consentono la valutazione dell'entità corrente. Questo risulta utile quando si definiscono azioni personalizzate applicabili al modello dell'entità anziché a entità specifiche. Ad esempio, è possibile aggiungere un elemento della barra multifunzione a tutte le entità ad eccezione di diverse entità specifiche. È più semplice definire l'azione personalizzata per il modello dell'entità che si riferisce a tutte le entità, quindi utilizzare una regola di entità per filtrare le entità che devono essere escluse.

    La regola di entità include inoltre un attributo facoltativo di contesto per specificare se l'entità viene visualizzata nel modulo o in un elenco (HomePageGrid). L'attributo facoltativo AppliesTo può essere impostato su PrimaryEntity o SelectedEntity per distinguere se l'entità viene visualizzata in una griglia secondaria.

  • <FormStateRule> (RibbonDiffXml)
    Utilizzare la regola FormState per determinare il tipo corrente di modulo che visualizza un record. Le opzioni dello stato sono le seguenti:

    • Create

    • Existing

    • ReadOnly

    • Disabled

    • BulkEdit

  • <OrRule> (RibbonDiffXml)
    OrRule consente di sostituire il confronto AND predefinito per abilitare più tipi di regole. Utilizzare l'elemento OrRule per definire più combinazioni valide per il controllo.

  • <OutlookItemTrackingRule> (RibbonDiffXml)
    Utilizzare l'attributo TrackedInCrm per questo elemento per determinare se un record è registrato in Microsoft Dynamics 365.

  • <OutlookVersionRule> (RibbonDiffXml)
    Utilizzare per abilitare un elemento della barra multifunzione per una versione di Microsoft Office Outlook specifica, come illustrato di seguito:

    • 2003

    • 2007

    • 2010

  • <PageRule> (RibbonDiffXml)
    Questo tipo di regola controlla l'URL della pagina visualizzata. Restituisce true se Address corrisponde.

  • <RecordPrivilegeRule> (RibbonDiffXml)
    Utilizzare questa regola determinare se l'utente corrente dispone di privilegi su un record specifico. Questi privilegi sono differenti dal privilegio entità perché possono includere i privilegi ottenuti da un altro utente che condivide il record con l'utente corrente.

  • <SelectionCountRule> (RibbonDiffXml)
    Utilizzare questo tipo di regola con una barra multifunzione visualizzata per un elenco per abilitare un pulsante con i numeri massimo e minimo specifici di record selezionati nella griglia. Ad esempio, se il pulsante unisce i record, è necessario che almeno due record siano selezionati prima di abilitare il controllo della barra multifunzione.

  • <SkuRule> (RibbonDiffXml)
    Utilizzare questo tipo di regola per abilitare un elemento della barra multifunzione per una versione specifica dello SKU di Microsoft Dynamics 365, come illustrato di seguito:

    • OnPremise

    • Online

    • Spla

  • <ValueRule> (RibbonDiffXml)
    Utilizzare questa regola per controllare il valore di un campo specifico nel record visualizzato nel modulo. È necessario specificare Field e Value per il controllo.

Vedere anche

Personalizzare i comandi e la barra multifunzione
Comandi della barra multifunzione di definizione
Definire le regole di visualizzazione della barra multifunzione

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright