Condividi tramite


Un pulsante sulla barra dei comandi è visibile quando deve essere nascosto

Si applica a: Power Apps
Numero KB originale: 4552163

Determinare il motivo per cui un pulsante è visibile

Un pulsante verrà reso visibile se tutte le regole di abilitazione e le regole di visualizzazione nel comando associato al pulsante restituiscono true. In caso di errore imprevisto, è possibile che la definizione del comando sia stata sottoposta a override e che non siano presenti regole di abilitazione o regole di visualizzazione oppure che le definizioni delle regole stesse vengano sottoposte a override e che il pulsante sia visibile quando si prevede che venga nascosto.

Note

Alcuni pulsanti non sono personalizzabili. Per altre informazioni, vedere Pulsanti non personalizzabili nella barra multifunzione.

Avviso

Non rimuovere la Mscrm.HideOnModern regola di visualizzazione da un comando per forzare la visualizzazione di un pulsante nell'interfaccia unificata. I comandi con la Mscrm.HideOnModern regola di visualizzazione sono destinati all'interfaccia client Web legacy e non sono supportati nell'interfaccia unificata e potrebbero non funzionare correttamente.

  1. Abilitare Controllo comandi e selezionare il pulsante di comando da esaminare.

  2. L'esempio seguente mostra due pulsanti Appointment nella pagina della griglia delle attività e uno deve essere nascosto.

    Screenshot che mostra due pulsanti Appointment nella pagina della griglia delle attività.

  3. Selezionare la scheda Proprietà comando per visualizzare i dettagli del comando per questo pulsante. Verranno visualizzate le azioni, le regole di abilitazione e le regole di visualizzazione, insieme al risultato (True, False, Ignorato) di ogni valutazione delle regole. Esaminare le regole di abilitazione e le regole di visualizzazione, se si prevede che una determinata regola debba essere valutata su false, è possibile che la regola venga personalizzata in modo errato o che le circostanze necessarie per restituire un risultato falso non vengano soddisfatte. In tal caso, andare al passaggio 9. In caso contrario, è possibile che il comando non contenga una regola o regole e verranno visualizzati i livelli della soluzione dei comandi per un'ulteriore analisi.

    Screenshot per selezionare la scheda Proprietà comando per visualizzare i dettagli del comando per questo pulsante.

  4. Selezionare il collegamento Visualizza livelli soluzione definizione comando sotto il nome del comando per visualizzare le soluzioni che hanno installato una definizione del comando.

    Screenshot del collegamento Visualizza livelli soluzione definizione comando sotto il nome del comando.

  5. Il riquadro Livelli soluzione visualizzerà la sovrapposizione di ogni definizione di componente della barra multifunzione installata da una particolare soluzione. Il livello nella parte superiore dell'elenco è la definizione corrente usata dall'applicazione, gli altri livelli sono inattivi e non vengono usati dall'applicazione al momento. Se la soluzione principale viene disinstallata o viene installata una versione aggiornata che rimuove la definizione, il livello successivo diventerà la definizione attiva corrente usata dall'applicazione. Quando è presente un livello di soluzione Attivo non gestito, sarà sempre la definizione usata dall'applicazione. Se non è elencata alcuna soluzione attiva, la soluzione elencata nella parte superiore dell'elenco sarà la definizione usata dall'applicazione. Anche le soluzioni gestite personalizzate che non vengono pubblicate da Microsoft avranno la precedenza sui livelli di soluzione pubblicati da Microsoft.

    Il contesto Entità indica che l'oggetto su cui si trova la personalizzazione della barra multifunzione, se è elencato "Tutte le entità", il livello proviene dalle estensioni client della barra multifunzione dell'applicazione e non dall'entità specifica, altrimenti verrà elencato il nome logico dell'entità.

    Quando sono presenti due o più livelli, è possibile selezionare due righe e selezionare Confronta per visualizzare un confronto delle definizioni fornite da ogni soluzione.

    Se si seleziona Indietro , si tornerà alla finestra precedente di Controllo comandi.

    Se è presente un solo livello di soluzione, passare al passaggio 9, in caso contrario, selezionare i primi due livelli di soluzione (se si dispone di un livello nella soluzione Attiva, ma non è elencato in alto, selezionare il livello soluzione attiva e quindi la riga superiore) e selezionare Confronta.

    Screenshot per selezionare i primi due livelli della soluzione e selezionare l'opzione Confronta.

  6. Il confronto tra la definizione attiva corrente e la definizione inattiva precedente verranno visualizzate le differenze, se presenti. L'esempio seguente mostra la definizione active non gestita da personalizzare con la rimozione di una regola Mscrm.HideOnModern di visualizzazione inclusa nel livello della soluzione pubblicata da Microsoft inattiva msdynce_ActivitiesPatch .

    Screenshot che mostra il confronto tra la definizione attiva corrente e la definizione inattiva precedente.

  7. L'approccio necessario per correggere la visibilità di un pulsante dipende dalle varie personalizzazioni nello scenario specifico. Se si è determinato che una regola sta valutando erroneamente su false e se la definizione della regola non è stata definita correttamente, è necessario modificare la definizione della regola e apportare modifiche che consentano alla regola di restituire false nelle circostanze appropriate. Se la definizione della regola è corretta, è possibile che i requisiti che renderebbero la regola false non vengano soddisfatti, ad esempio un valore di campo o un privilegio di sicurezza non sono assegnati correttamente. A seconda della definizione della regola, i requisiti possono variare notevolmente, vedere Definire le regole di abilitazione della barra multifunzione e Definire le regole di visualizzazione della barra multifunzione. Considerando l'esempio, il comando è stato personalizzato con la rimozione di una Mscrm.HideOnModern regola di visualizzazione. Questa regola di visualizzazione è progettata per nascondere questo particolare pulsante da visualizzare nelle applicazioni unificate Interface e essere visibile solo nell'interfaccia client Web legacy. È possibile modificare la versione personalizzata del comando e aggiungere la Mscrm.HideOnModern regola di visualizzazione mancante alla definizione del comando. Poiché si tratta di un override personalizzato di una definizione pubblicata da Microsoft e non sono presenti altre modifiche intenzionali, è consigliabile eliminare questa versione personalizzata del comando per ripristinare la funzionalità predefinita.

Opzioni di ripristino

Selezionare un'opzione di ripristino da una delle schede seguenti. La prima scheda è selezionata per impostazione predefinita.

Come eliminare un comando

Se è presente un altro livello di soluzione che contiene una definizione di lavoro di questo comando, è possibile eliminare questa definizione per ripristinare la definizione di lavoro inattiva successiva.

Se si tratta dell'unico livello e non è più necessario il comando, è possibile rimuoverlo dalla soluzione se nessun altro pulsante fa riferimento al comando.

Selezionare una delle opzioni seguenti che corrispondono allo scenario specifico:

Il comando si trova nella soluzione Attiva non gestita

Per eliminare un comando nel livello della soluzione non gestita attiva , si esporta una soluzione non gestita contenente l'entità o la barra multifunzione dell'applicazione e si modifica il <RibbonDiffXml> nodo nel file di customizations.xml e quindi si importa una nuova versione di questa soluzione in cui questo comando è stato rimosso per eliminare il componente. Vedere Esportare, preparare la modifica e importare la barra multifunzione.

Il comando è specifico dell'entità

In base allo scenario di esempio, è stato identificato che l'entità è activitypointer e il comando che deve essere eliminato è Mscrm.CreateAppointment e viene dichiarato nel livello della soluzione non gestita attivo da un server di pubblicazione denominato DefaultPublisherCITTest.

  1. Aprire Impostazioni avanzate.

  2. Passare a Impostazioni ->Soluzioni.

  3. Selezionare Nuovo per creare una nuova soluzione, impostare Publisher sul valore visualizzato nell'elenco dei livelli della soluzione di Controllo comandi per il comando e il livello soluzione Attivo. (In questo esempio, questo è DefaultPublisherCITTest).

  4. Selezionare Entità>Aggiungi esistente.

  5. Selezionare l'entità in cui è definito il comando (in questo esempio questo è activitypointer) e selezionare OK.

  6. Assicurarsi di deselezionare Includi metadati entità e deselezionare Aggiungi tutte le opzioni asset prima di selezionare Fine.

  7. Selezionare Salva.

  8. Selezionare Esporta soluzione ed esportare la soluzione non gestita.

  9. Estrai il file .zip.

  10. Aprire il file customizations.xml .

  11. Individuare il <Entity> nodo figlio del nodo di entità che si desidera modificare e individuare il relativo nodo figlio <RibbonDiffXml> .

  12. Individuare il nodo (nell'esempio <CommandDefinition> l'ID del <CommandDefinition> nodo è Mscrm.CreateAppointment, in modo da individuare il nodo seguente).

    Screenshot che mostra il percorso del nodo CommandDefinition.

  13. Modificare il <RibbonDiffXml> nodo e rimuovere il nodo specifico <CommandDefinition> con l'ID del comando da eliminare. Assicurarsi di non eliminare involontariamente altri <CommandDefinition> nodi che potrebbero essere presenti. In base all'esempio, si eliminerebbe il <CommandDefinition> nodo in cui l'ID è Mscrm.CreateAppointment.)

    Screenshot che mostra un esempio per eliminare il nodo CommandDefinition.

  14. Salvare il file customizations.xml .

  15. Aggiungere di nuovo il file di customizations.xml modificato al file di .zip della soluzione.

  16. Importare il file della soluzione.

  17. Seleziona Pubblica tutte le personalizzazioni.

Il comando si trova nella barra multifunzione dell'applicazione (si applica a "Tutte le entità")

Se il comando non è specifico dell'entità, ma è applicabile a "Tutte le entità" dichiarate nella barra multifunzione dell'applicazione, i passaggi saranno leggermente diversi come indicato di seguito:

  1. Aprire Impostazioni avanzate.
  2. Passare a Impostazioni>Soluzioni.
  3. Selezionare Nuovo per creare una nuova soluzione, impostare Publisher sul valore visualizzato nell'elenco dei livelli della soluzione di Controllo comandi per il comando e il livello soluzione Attivo.
  4. Selezionare Estensioni>client Aggiungi barre multifunzione dell'applicazione esistenti>.
  5. Selezionare Salva.
  6. Selezionare Esporta soluzione ed esportare la soluzione non gestita.
  7. Estrai il file .zip.
  8. Aprire il file customizations.xml .
  9. Individuare il nodo radice <RibbonDiffXml> .
  10. Individuare .<CommandDefinition>
  11. Modificare il <RibbonDiffXml> nodo e rimuovere il <CommandDefinition> nodo con l'ID del comando da eliminare. Assicurarsi di non eliminare involontariamente altri <CommandDefinition> nodi che potrebbero essere presenti.
  12. Salvare il file customizations.xml .
  13. Aggiungere di nuovo il file di customizations.xml modificato al file .zip della soluzione compressa.
  14. Importare il file della soluzione.
  15. Seleziona Pubblica tutte le personalizzazioni.
Il comando proviene da una soluzione gestita personalizzata creata dall'azienda

Per eliminare un comando installato da una soluzione gestita personalizzata creata, seguire questa procedura:

  1. Nell'organizzazione di sviluppo separata con la versione di origine non gestita della soluzione personalizzata, completare i passaggi elencati in precedenza per Il comando si trova nell'opzione soluzione Attiva non gestita.
  2. Incrementare la versione della soluzione personalizzata.
  3. Esportare la soluzione come gestita.
  4. Nell'organizzazione interessata separata importare questa nuova versione della soluzione gestita personalizzata.
Il comando proviene da una soluzione gestita personalizzata che l'azienda non ha creato (da terze parti/ISV)

Per eliminare un comando installato da una soluzione gestita personalizzata creata da un isv di terze parti, è necessario contattare l'autore della soluzione e richiedere una nuova versione della soluzione che ha rimosso la definizione di comando specifica e quindi installare questa nuova soluzione nell'organizzazione interessata.