Un pulsante sulla barra dei comandi non funziona correttamente in Power Apps
Si applica a: Power Apps
Numero KB originale: 4552163
Determinare perché un pulsante non funziona correttamente
Diversi fattori possono causare l'esito negativo di un'azione del pulsante. Queste includono personalizzazioni della barra multifunzione non valide in cui la definizione di comando associata del pulsante viene dichiarata in modo non corretto.
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. Pertanto, potrebbero non funzionare correttamente.
Se un comando non è dichiarato correttamente, la selezione di un pulsante potrebbe non eseguire alcuna operazione o visualizzare un messaggio di errore.
Selezionare una delle opzioni seguenti che meglio corrispondano alla propria situazione per offrire la migliore risoluzione. La prima scheda è selezionata per impostazione predefinita.
- Il pulsante non esegue alcuna operazione quando è selezionata
- Viene visualizzato un messaggio di errore diverso
Correzione di un pulsante che non esegue alcuna operazione quando è selezionata
Quando un pulsante è selezionato e non si verifica nulla, questo è in genere causato da una configurazione errata del comando associato al pulsante.
Di seguito sono riportati i tipici errori di configurazione dei comandi che vengono eseguiti durante la dichiarazione del JavaScriptFunction
valore per l'azione. Questi errori possono causare un malfunzionamento di un pulsante e sembrano come se non fa nulla quando selezionato.
- FunctionName non valido: il nome della funzione JavaScript non corrisponde a un nome di funzione valido nella risorsa Web JavaScript assegnata alla proprietà Library.
- Libreria non valida: questo percorso non fa riferimento a una risorsa Web JavaScript valida o non è preceduto da
$webresource:
. - Parametri mancanti: la funzione JavaScript prevede parametri specifici e la definizione del comando non li dichiara.
- Tipo di parametro o ordine non corretto: i parametri vengono dichiarati usando un tipo non corretto o sono in un ordine diverso da quello in cui sono elencati nella dichiarazione della funzione JavaScript.
Per altre informazioni sulla configurazione, vedere Definire le azioni della barra multifunzione.
Se queste configurazioni sono corrette, potrebbe verificarsi un errore di codice JavaScript. Se la funzione JavaScript personalizzata viene codificata in modo non corretto e non richiama il comportamento previsto, il pulsante non funzionerà come previsto. Se si rileva uno degli errori di configurazione elencati, correggere la definizione del comando per risolvere il problema. In caso contrario, potrebbe essere necessario eseguire il debug e correggere il codice della funzione JavaScript per fare in modo che il pulsante funzioni correttamente.
Identificare qual è il comando del pulsante e quale soluzione ha installato la definizione non valida.
Abilitare Controllo comandi e selezionare il pulsante di comando da esaminare.
Selezionare la scheda Proprietà comando per visualizzare i dettagli del comando per questo pulsante.
Nella scheda Proprietà comando vengono visualizzate le azioni e la configurazione corrispondente
JavaScriptFunction
. Selezionare il collegamento Visualizza livelli soluzione definizione comando sotto il nome del comando per visualizzare le soluzioni che hanno installato una definizione del comando.Nel riquadro Livelli soluzione viene visualizzato il livello 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. Se è 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 non pubblicate da Microsoft avranno la precedenza sui livelli di soluzione pubblicati da Microsoft.
Il contesto Entità indica l'oggetto su cui è attiva la personalizzazione della barra multifunzione. Se è elencato "Tutte le entità", il livello proviene dalle estensioni client della barra multifunzione dell'applicazione e non da specifiche dell'entità. In caso contrario, 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 torna alla finestra precedente di Controllo comandi.
Se è presente un solo livello di soluzione, andare al passaggio 8. In caso contrario, selezionare i primi due livelli della soluzione. Se si ha un livello nella soluzione Attiva, ma non è elencato nella parte superiore, selezionare il livello Soluzione attiva e quindi la riga superiore. Selezionare quindi Confronta.
Viene visualizzato il confronto tra la definizione attiva corrente e la definizione inattiva precedente e verranno visualizzate le differenze, se presenti. L'esempio seguente mostra che la definizione active non gestita è stata personalizzata specificando il
FunctionName
valore in modo non corretto, rispetto all'altra definizione inattiva nel livello della soluzione di sistema pubblicata da Microsoft. IlFunctionName
valore deve essereXrmCore.Commands.Delete.deletePrimaryRecord
, ma la definizione personalizzata ha dichiaratoFunctionName="deletePrimaryRecord"
. In questo caso, non si verificherà nulla quando viene selezionato il pulsante perché non è possibile trovare la funzione.L'approccio necessario per correggere la funzionalità di azione di un pulsante dipenderà dalle varie personalizzazioni nello scenario specifico. Considerando l'esempio, il comando è stato personalizzato specificando un valore non corretto
FunctionName
. È possibile modificare la versione personalizzata del comando e correggere ilFunctionName
valore. 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.
Selezionare una delle opzioni di ripristino seguenti.
Opzione 1: Eliminare il comando con la dichiarazione JavaScriptFunction non corretta
Il comando si trova nella soluzione Active non gestita.
Per eliminare un comando nel livello 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 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 determinato che l'entità è account, il comando che deve essere eliminato è Mscrm.DeletePrimaryRecord
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 e impostare Publisher sul valore visualizzato nei livelli della soluzione di Controllo comandi che elencano il comando e il livello soluzione Attivo. (Nell'esempio questo è DefaultPublisherCITTest.
Selezionare Entità>Aggiungi esistente.
Selezionare l'entità su cui è definito il comando (nell'esempio questo è "account") e quindi selezionare OK.
Assicurarsi di deselezionare le opzioni Includi metadati entità e Aggiungi tutti gli 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.DeletePrimaryRecord
. Di conseguenza, è necessario individuare il nodo seguente.Modificare il
<RibbonDiffXml>
nodo per 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 elimina il<CommandDefinition>
nodo in cui l'ID èMscrm.DeletePrimaryRecord
.)Salvare il file customizations.xml .
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 e impostare Publisher sul valore visualizzato nei livelli della soluzione di Controllo comandi che elencano il comando e il livello soluzione Attivo.
- Selezionare Estensioni>client Aggiungi barre multifunzione dell'applicazione esistenti>.
- Selezionare Salva.
- Selezionare Esporta soluzione ed esportare la soluzione non gestita.
- Estrai il file .zip.
- Aprire il file customizations.xml .
- Individuare il nodo radice
<RibbonDiffXml>
. - Individuare il
<CommandDefinition>
nodo. <RibbonDiffXml>
Modificare 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 .
- Ripristinare il file customizations.xml modificato nella soluzione compressa .zip file.
- 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 o ISV).
Per eliminare un comando installato da una soluzione gestita personalizzata creata da terze parti o ISV, è necessario contattare l'autore della soluzione per richiedere una nuova versione della soluzione con la definizione di comando specifica rimossa e quindi installare questa nuova soluzione nell'organizzazione interessata.
Opzione 2: Correggere la dichiarazione JavaScriptFunction del comando
Il comando si trova nella soluzione Active non gestita.
Per correggere un comando nel livello della soluzione non gestita attiva , si esporta una soluzione non gestita che contiene l'entità o la barra multifunzione Applicazione, modificare il <RibbonDiffXml>
nodo nel file customizations.xml e quindi importare una nuova versione di questa soluzione che contiene la definizione di comando fissa. Vedere Esportare, preparare la modifica e importare la barra multifunzione.
Avviso
Non rimuovere Mscrm.HideOnModern
la 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.
Il comando è specifico dell'entità
In base allo scenario di esempio, è stato determinato che l'entità è account, il comando che deve essere corretto è Mscrm.DeletePrimaryRecord
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 e impostare Publisher sul valore visualizzato nell'elenco dei livelli della soluzione di Controllo comandi per il comando e il livello della soluzione Attiva. (Nell'esempio questo è DefaultPublisherCITTest.
Selezionare Entità>Aggiungi esistente.
Selezionare l'entità in cui è definito il comando (nell'esempio questo è account) e quindi selezionare OK.
Assicurarsi di deselezionare le opzioni Includi metadati entità e Aggiungi tutti gli 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.DeletePrimaryRecord
. Di conseguenza, è necessario individuare 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 e Definire le azioni della barra multifunzione. In base all'esempio, è possibile modificare il<CommandDefinition>
nodoJavaScriptFunction
impostando ilFunctionName
valore suXrmCore.Commands.Delete.deletePrimaryRecord
.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 e impostare Publisher sul valore visualizzato nei livelli della soluzione di Controllo comandi che elencano il comando e il livello soluzione Attivo.
- Selezionare Estensioni>client Aggiungi barre multifunzione dell'applicazione esistenti>.
- Selezionare Salva.
- 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 per 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 e Definire le azioni della barra multifunzione. - Salvare il file customizations.xml .
- Ripristinare il file customizations.xml modificato nella soluzione compressa .zip file.
- 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 che l'organizzazione non è proprietaria (da terze parti/ISV).
Per correggere un comando installato da una soluzione gestita personalizzata creata da terze parti o ISV, è necessario contattare l'autore della soluzione per richiedere una nuova versione della soluzione contenente la definizione del comando fissa e installare questa nuova soluzione nell'organizzazione interessata.
Viene visualizzato il messaggio di errore dello script: "Libreria di azioni JavaScript non valida"](#tab/error)
Correzione di un pulsante che visualizza un errore quando selezionato
Se è selezionato un pulsante della barra dei comandi della barra multifunzione e si verifica un errore, l'errore è in genere causato da personalizzazioni non corrette dei comandi della barra multifunzione.
Correzione dell'errore di script "Libreria di azioni JavaScript non valida"
È possibile che venga visualizzato un messaggio di errore dello script simile al seguente:
Libreria di azioni JavaScript non valida: [nome script] non è una risorsa Web e non è supportata.
Ciò è causato da una personalizzazione non valida del comando della barra multifunzione che ha dichiarato una libreria non corretta nel comando .JavaScriptFunction
Abilitare Controllo comandi e selezionare il pulsante di comando da esaminare.
L'esempio seguente mostra il pulsante Nuovo nella pagina del modulo dell'entità account è visibile ed è rappresentato da un elemento con etichetta New.
Selezionare la scheda Proprietà comando per visualizzare i dettagli del comando per questo pulsante. Verranno visualizzate le azioni e la dichiarazione JavaScriptFunction e tutte le regole abilitano o visualizzano le regole insieme al risultato (True, False, Ignorato) di ogni valutazione della regola.
Espandere JavaScriptFunction selezionando l'icona "freccia di espansione" per visualizzare i dettagli della dichiarazione di funzione. La proprietà Library deve essere una risorsa Web JavaScript e avere il prefisso
$webresource:
. L'esempio seguente mostra che la proprietà Library è _/_static/common/scripts/RibbonActions.js. Non si tratta di un percorso di una risorsa Web JavaScript valida. Esaminare quindi i livelli della soluzione del comando per provare a identificare il valore corretto per risolvere il problema.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 non 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 il comando nell'esempio e indica che sono presenti due livelli di soluzione e uno è una personalizzazione non gestita indicata dalla soluzione denominata Active e l'altra proviene dalla soluzione System pubblicata da Microsoft. Lo scenario effettivo potrebbe essere diverso, potrebbe non essere presente un livello soluzione attiva, potrebbe essere disponibile una soluzione gestita e il nome della soluzione verrà elencato qui.
Selezionare le prime due righe e selezionare Confronta per visualizzare un confronto delle definizioni fornite da ogni soluzione. Se si ha un solo livello di soluzione, ignorare questo passaggio.
Il confronto tra le definizioni dei comandi mostrerà eventuali differenze tra i due livelli. L'esempio seguente mostra chiaramente che il valore della libreria è diverso. La voce non gestita della soluzione Attiva è impostata su un percorso non corretto _/_static/common/scripts/RibbonActions.js (il percorso specifico potrebbe essere leggermente diverso) e la definizione predefinita di Microsoft ha impostato la libreria su
$webresoure:Main_system_library.js
. Si tratta di un percorso supportato per questo particolare comando (questo valore potrebbe essere diverso, a seconda del comando specifico). L'unico percorso supportato è quello che inizia con$webresource:
e termina con il nome di una risorsa Web JavaScript valida.Dopo aver esaminato i livelli della soluzione e determinato la soluzione che ha installato la personalizzazione, è necessario correggere la definizione nella soluzione appropriata.
Selezionare una delle opzioni seguenti che corrispondono allo scenario specifico:
Il comando si trova nella soluzione Active non gestita.
L'approccio per correggere il comando varia a seconda che la definizione sia l'unica o se sono presenti altre definizioni inattive e se le modifiche sono intenzionali.
Selezionare l'opzione che riflette lo scenario:
Il comando non ha modifiche intenzionali e si vuole rimuovere questo livello personalizzato.
Per eliminare un comando nel livello soluzione non gestita attiva , si esporta una soluzione non gestita che contiene l'entità o la barra multifunzione dell'applicazione, modificare il
<RibbonDiffXml>
nodo nel file customizations.xml e quindi importare 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 determinato che l'entità è account, il comando che deve essere eliminato è
Mscrm.NewRecordFromForm
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 e impostare Publisher sul valore visualizzato nei livelli della soluzione di Controllo comandi che elencano il comando e il livello soluzione Attivo. (Nell'esempio questo è DefaultPublisherCITTest.
Selezionare Entità>Aggiungi esistente.
Selezionare l'entità su cui è definito il comando. Nell'esempio questo è account e quindi selezionare OK.
Assicurarsi di deselezionare le opzioni Includi metadati entità e Aggiungi tutti gli 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 di<CommandDefinition>
èMscrm.NewRecordFromForm
. Di conseguenza, è necessario individuare il nodo seguente.Modificare il
<RibbonDiffXml>
nodo per rimuovere il nodo specifico<CommandDefinition>
. Assicurarsi di non eliminare involontariamente altri<CommandDefinition>
nodi che potrebbero essere presenti. In base all'esempio, si elimina il<CommandDefinition>
nodo in cui l'ID èMscrm.NewRecordFromForm
.)Salvare il file customizations.xml .
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 e impostare Publisher sul valore visualizzato nei livelli della soluzione di Controllo comandi che elencano il comando e il livello soluzione Attivo.
- Selezionare Estensioni>client Aggiungi barre multifunzione dell'applicazione esistenti>.
- Selezionare Salva.
- Selezionare Esporta soluzione ed esportare la soluzione non gestita.
- Estrai il file .zip.
- Aprire il file customizations.xml .
- Individuare il nodo radice
<RibbonDiffXml>
. - Individuare il
<CommandDefinition>
nodo. - Modificare
<RibbonDiffXml>
per rimuovere il<CommandDefinition>
nodo con l'ID corrispondente del comando da eliminare. Assicurarsi di non eliminare involontariamente altri<CommandDefinition>
nodi che potrebbero essere presenti. - Salvare il file customizations.xml .
- Ripristinare il file customizations.xml modificato nella soluzione compressa .zip file.
- Importare il file della soluzione.
- Seleziona Pubblica tutte le personalizzazioni.
Il comando include modifiche aggiuntive che si desidera mantenere e si vuole correggere questo livello di soluzione.
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 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.Avviso
Non rimuovere
Mscrm.HideOnModern
la regola di visualizzazione da un comando per forzare la visualizzazione di un pulsante nell'interfaccia unificata. I comandi con laMscrm.HideOnModern
regola di visualizzazione sono destinati all'interfaccia client Web legacy e non sono supportati nell'interfaccia unificata e potrebbero non funzionare correttamente.Il comando è specifico dell'entità
In base allo scenario di esempio, è stato determinato che l'entità è account, il comando che deve essere corretto è
Mscrm.NewRecordFromForm
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 e impostare Publisher sul valore visualizzato nell'elenco dei livelli della soluzione di Controllo comandi per il comando e il livello della soluzione Attiva. (Nell'esempio questo è DefaultPublisherCITTest.
Selezionare Entità>Aggiungi esistente.
Selezionare l'entità in cui è definito il comando (nell'esempio questo è account) e quindi selezionare OK.
Assicurarsi di deselezionare le opzioni Includi metadati entità e Aggiungi tutti gli 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 vuole modificare e individuare il nodo figlio<RibbonDiffXml>
.Individuare il
<CommandDefinition>
nodo. Nell'esempio l'ID del<CommandDefinition>
nodo èMscrm.NewRecordFromForm
. Di conseguenza, è necessario individuare il nodo seguente.Modificare
<RibbonDiffXml>
per 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 e Definire le azioni della barra multifunzione. In base all'esempio, è necessario modificare il<CommandDefinition>
nodo impostandoLibrary="$webresoure:Main_system_library.js"
e quindi assicurarsi che ilFunctionName
valore corrisponda. Nell'esempio, sarebbeFunctionName="XrmCore.Commands.Open.openNewRecord"
.)Salvare il file customizations.xml .
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 e impostare Publisher sul valore visualizzato nei livelli della soluzione di Controllo comandi che elencano il comando e il livello soluzione Attivo.
- Selezionare Estensioni>client Aggiungi barre multifunzione dell'applicazione esistenti>.
- Selezionare Salva.
- Selezionare Esporta soluzione ed esportare la soluzione non gestita.
- Estrai il file .zip.
- Aprire il file customizations.xml .
- Individuare il nodo radice
<RibbonDiffXml>
. - Individuare il
<CommandDefinition>
nodo. - Modificare il
<RibbonDiffXml>
nodo per 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 e Definire le azioni della barra multifunzione. - Salvare il file customizations.xml .
- Ripristinare il file customizations.xml modificato nella soluzione compressa .zip file.
- 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 che l'organizzazione non è proprietaria (da terze parti o ISV).
Per correggere un comando installato da una soluzione gestita personalizzata creata da terze parti o ISV, è necessario contattare l'autore della soluzione per richiedere una nuova versione della soluzione contenente la definizione del comando fissa e quindi 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. Questa operazione viene in genere eseguita durante un aggiornamento della versione. È possibile che sia stato identificato un bug che deve ancora essere corretto. Per assistenza, contattare il supporto tecnico.