Un pulsante sulla barra dei comandi è visibile quando deve essere nascosto
Articolo
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.
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.
L'esempio seguente mostra due pulsanti Appointment nella pagina della griglia delle attività e uno deve essere nascosto.
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.
Selezionare il collegamento Visualizza livelli soluzione definizione comando sotto il nome del comando per visualizzare le soluzioni che hanno installato una definizione del comando.
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.
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 .
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.
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.
Aprire Impostazioni avanzate.
Passare a Impostazioni ->Soluzioni.
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).
Selezionare Entità>Aggiungi esistente.
Selezionare l'entità in cui è definito il comando (in questo esempio questo è activitypointer) e selezionare OK.
Assicurarsi di deselezionare Includi metadati entità e deselezionare Aggiungi tutte le opzioni asset prima di selezionare Fine.
Selezionare Salva.
Selezionare Esporta soluzione ed esportare la soluzione non gestita.
Estrai il file .zip.
Aprire il file customizations.xml .
Individuare il <Entity> nodo figlio del nodo di entità che si desidera modificare e individuare il relativo nodo figlio <RibbonDiffXml> .
Individuare il nodo (nell'esempio <CommandDefinition> l'ID del <CommandDefinition> nodo è Mscrm.CreateAppointment, in modo da individuare il nodo seguente).
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.)
Salvare il file customizations.xml .
Aggiungere di nuovo il file di customizations.xml modificato al file di .zip della soluzione.
Importare il file della soluzione.
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:
Aprire Impostazioni avanzate.
Passare a Impostazioni>Soluzioni.
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.
Selezionare Esporta soluzione ed esportare la soluzione non gestita.
Estrai il file .zip.
Aprire il file customizations.xml .
Individuare il nodo radice <RibbonDiffXml> .
Individuare .<CommandDefinition>
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.
Salvare il file customizations.xml .
Aggiungere di nuovo il file di customizations.xml modificato al file .zip della soluzione compressa.
Importare il file della soluzione.
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:
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.
Incrementare la versione della soluzione personalizzata.
Esportare la soluzione come gestita.
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.
Come aggiungere regole di abilitazione/visualizzazione mancanti al comando
Se sono state apportate modifiche al comando che è necessario conservare, ma si vuole che il pulsante venga nascosto nelle circostanze appropriate, è possibile aggiungere le regole di abilitazione/visualizzazione mancanti al comando invece di eliminare la definizione personalizzata.
Selezionare una delle opzioni seguenti che corrispondono allo scenario specifico:
Il comando si trova nella soluzione Attiva non gestita
Se si è determinato che le regole di abilitazione/visualizzazione non sono presenti nella definizione del comando, è possibile modificare il <CommandDefinition> nodo e aggiungere le regole per ottenere il comportamento desiderato. Per correggere un comando nel livello della soluzione non gestita attiva , si esportare una soluzione non gestita contenente l'entità o la barra multifunzione dell'applicazione e modificare il <RibbonDiffXml> nodo nel file di customizations.xml e quindi importare una nuova versione di questa soluzione contenente la definizione del comando fissa. 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 corretto è Mscrm.CreateAppointment e viene dichiarato nel livello della soluzione non gestita attivo da un server di pubblicazione denominato DefaultPublisherCITTest.
Aprire Impostazioni avanzate.
Passare a Impostazioni>Soluzioni.
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)
Selezionare Entità>Aggiungi esistente.
Selezionare l'entità in cui è definito il comando (in questo esempio questo è activitypointer) e selezionare OK.
Assicurarsi di deselezionare Includi metadati entità e Aggiungi tutte le opzioni asset prima di selezionare Fine.
Selezionare Salva.
Selezionare Esporta soluzione ed esportare la soluzione non gestita.
Estrai il file .zip.
Aprire il file customizations.xml .
Individuare l'elemento <Entity> figlio del nodo dell'entità che si vuole modificare e individuare il relativo nodo figlio <RibbonDiffXml> .
Individuare il <CommandDefinition> nodo. Nell'esempio l'ID del <CommandDefinition> nodo è Mscrm.CreateAppointment. Di conseguenza, si individua il nodo seguente:
Modificare il <RibbonDiffXml> nodo e apportare le modifiche necessarie al <CommandDefinition> nodo che consentirà al comando di funzionare correttamente nelle circostanze corrette per correggere il comando. Per altre informazioni su come dichiarare i comandi, vedere Definire i comandi della barra multifunzione. In base all'esempio, il <CommandDefinition> nodo verrà modificato aggiungendo la Mscrm.HideOnModern regola di visualizzazione che nasconderà correttamente questo pulsante.
Ripristinare il file di customizations.xml modificato nel file di .zip della soluzione.
Importare il file della soluzione.
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:
Aprire Impostazioni avanzate.
Passare a Impostazioni>Soluzioni.
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.
Selezionare Esporta soluzione ed esportare la soluzione non gestita.
Estrai il file .zip.
Aprire il file customizations.xml .
Individuare il nodo radice <RibbonDiffXml> .
Individuare .<CommandDefinition>
Modificare <RibbonDiffXml> e apportare le modifiche necessarie al <CommandDefinition> nodo che consentirà al comando di funzionare correttamente nelle circostanze corrette per correggere il comando. Per altre informazioni su come dichiarare i comandi, vedere Definire i comandi della barra multifunzione.
Aggiungere di nuovo il file di customizations.xml modificato al file di .zip della soluzione.
Importare il file della soluzione.
Seleziona Pubblica tutte le personalizzazioni.
Il comando proviene da una soluzione gestita personalizzata creata
Per correggere un comando installato da una soluzione gestita personalizzata creata, seguire questa procedura:
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.
Incrementare la versione della soluzione personalizzata.
Esportare la soluzione come gestita.
Nell'organizzazione interessata separata importare questa nuova versione della soluzione gestita personalizzata.
Il comando proviene da una soluzione gestita personalizzata che non è stata creata o l'organizzazione non è proprietaria (ad esempio da un isv di terze parti o ISV)
Per correggere un comando installato da una soluzione gestita personalizzata creata da terze parti/ISV, è necessario contattare l'autore della soluzione e richiedere una nuova versione della soluzione che contiene la definizione del comando fissa e installare questa nuova soluzione nell'organizzazione interessata.
Il comando si trova in una soluzione gestita pubblicata da Microsoft
Per correggere un comando installato da una soluzione gestita pubblicata da Microsoft, potrebbe essere necessario installare una versione più recente della soluzione, che in genere verrà eseguita durante un aggiornamento della versione. È possibile che sia stato identificato un bug che deve comunque essere corretto. Per assistenza, contattare il supporto tecnico.
Come correggere una regola di abilitazione/visualizzazione
Selezionare il collegamento Visualizza livelli soluzione definizione regola sotto il nome della regola per visualizzare le soluzioni che hanno installato una definizione della regola.
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.
L'immagine seguente mostra i livelli della soluzione per la regola di abilitazione nell'esempio e indica che in questo caso è presente un livello di soluzione e che si tratta di una personalizzazione non gestita indicata dalla soluzione denominata Active. Lo scenario effettivo potrebbe differire, potrebbe non essere presente un livello di soluzione attivo, una soluzione gestita e il nome di tale soluzione verrà elencato qui.
Dopo aver esaminato i livelli della soluzione e identificato la soluzione che ha installato la personalizzazione, è necessario correggere la definizione nella soluzione appropriata.
Selezionare una delle opzioni seguenti che corrispondono allo scenario specifico:
La regola di abilitazione/visualizzazione si trova nella soluzione Attiva non gestita
Per correggere una regola di abilitazione/visualizzazione nel livello della soluzione non gestita attiva , si esportare una soluzione non gestita contenente l'entità o la barra multifunzione dell'applicazione e modificare il <RibbonDiffXml> nodo nel file customizations.xml e quindi importare la nuova versione di questa soluzione contenente la definizione di regola di abilitazione/visualizzazione fissa. Vedere Esportare, preparare la modifica e importare la barra multifunzione.
La regola di abilitazione/visualizzazione è specifica dell'entità
In base allo scenario di esempio, l'entità è stata identificata come contatto e la regola di abilitazione che deve essere corretta è new.contact.EnableRule.EntityRule e viene dichiarata nel livello della soluzione non gestita attiva da un server di pubblicazione denominato DefaultPublisherCITTest.
Aprire Impostazioni avanzate.
Passare a Impostazioni>Soluzioni.
Selezionare Nuovo per creare una nuova soluzione, impostare Publisher sul valore visualizzato nell'elenco dei livelli della soluzione Controllo comandi per la regola di abilitazione e il livello Soluzione attiva. (In questo esempio, questo è DefaultPublisherCITTest)
Selezionare Entità>Aggiungi esistente.
Selezionare l'entità in cui è definita la regola di abilitazione/visualizzazione (in questo esempio questo è contatto) e selezionare OK.
Assicurarsi di deselezionare Includi metadati entità e Aggiungi tutte le opzioni asset prima di selezionare Fine.
Selezionare Salva.
Selezionare Esporta soluzione ed esportare la soluzione non gestita.
Estrai il file .zip.
Aprire il file customizations.xml .
Individuare il <Entity> nodo figlio del nodo di entità che si desidera modificare e individuare il relativo nodo figlio <RibbonDiffXml> .
Individuare la regola di abilitazione/visualizzazione. Nell'esempio l'ID della regola di abilitazione è new.contact.EnableRule.EntityRule. Di conseguenza, si individua il nodo seguente:
Modificare il <RibbonDiffXml> nodo e apportare le modifiche necessarie alla regola di abilitazione/visualizzazione che consentirà alla regola di restituire True nelle circostanze corrette per correggere la regola. Per altre informazioni su come dichiarare regole, vedere Definire le regole di abilitazione della barra multifunzione e Definire le regole di visualizzazione della barra multifunzione. In base all'esempio, la definizione della regola viene modificata nel modo seguente.
Aggiungere di nuovo il file di customizations.xml modificato al file di .zip della soluzione.
Importare il file della soluzione.
Seleziona Pubblica tutte le personalizzazioni.
La regola di abilitazione/visualizzazione si trova nella barra multifunzione dell'applicazione (si applica a "Tutte le entità")
Se la regola di abilitazione/visualizzazione non è specifica dell'entità, ma è applicabile a "Tutte le entità" dichiarate nella barra multifunzione dell'applicazione, i passaggi saranno leggermente diversi come indicato di seguito:
Aprire Impostazioni avanzate.
Passare a Impostazioni>Soluzioni.
Selezionare Nuovo per creare una nuova soluzione, impostare Publisher sul valore visualizzato nell'elenco dei livelli della soluzione di Controllo comandi per la regola di abilitazione/visualizzazione e il livello della soluzione Attiva.
Selezionare Esporta soluzione ed esportare la soluzione non gestita.
Estrai il file .zip.
Aprire il file customizations.xml .
Individuare il nodo radice <RibbonDiffXml> .
Individuare la regola di abilitazione/visualizzazione.
Modificare il <RibbonDiffXml> nodo e apportare le modifiche necessarie alla regola di abilitazione/visualizzazione che consentirà alla regola di restituire True nelle circostanze corrette per correggere la regola. Per altre informazioni su come dichiarare regole, vedere Definire le regole di abilitazione della barra multifunzione e Definire le regole di visualizzazione della barra multifunzione.
Aggiungere di nuovo il file di customizations.xml modificato al file di .zip della soluzione.
Importare il file della soluzione.
Seleziona Pubblica tutte le personalizzazioni.
La regola di abilitazione/visualizzazione proviene da una soluzione gestita personalizzata creata
Per correggere una regola di abilitazione/visualizzazione installata da una soluzione gestita personalizzata creata, seguire questa procedura:
Nell'organizzazione di sviluppo separata con la versione di origine non gestita della soluzione personalizzata, completare i passaggi elencati in precedenza per l'opzione La regola di abilitazione/visualizzazione si trova nell'opzione soluzione Active non gestita.
Incrementare la versione della soluzione personalizzata.
Esportare la soluzione come gestita.
Nell'organizzazione interessata separata importare questa nuova versione della soluzione gestita personalizzata.
La regola di abilitazione/visualizzazione proviene da una soluzione gestita personalizzata che non è stata creata o l'organizzazione non è proprietaria (da terze parti/ISV)
Per correggere una regola di abilitazione/visualizzazione installata 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 contiene la definizione fissa della regola di abilitazione/visualizzazione e installare questa nuova soluzione nell'organizzazione interessata.
La regola di abilitazione/visualizzazione si trova in una soluzione gestita pubblicata da Microsoft
Per correggere una regola di abilitazione/visualizzazione installata da una soluzione gestita pubblicata da Microsoft, potrebbe essere necessario installare una versione più recente della soluzione, che in genere verrebbe eseguita durante un aggiornamento della versione. È possibile che sia stato identificato un bug che deve comunque essere corretto. Per assistenza, contattare il supporto tecnico.