Panoramica dei comandi moderni

I comandi determinano il comportamento delle applicazioni principali per le app basate su modello. Sono i pulsanti con cui gli utenti interagiscono durante la riproduzione di app e le azioni risultanti eseguite quando viene selezionato un pulsante. Ogni comando è posizionato in relazione ad altri comandi e associato a una posizione della barra dei comandi all'interno dell'app.

Barra dei comandi

Ad alto livello, la personalizzazione dei comandi rientra nelle seguenti categorie. Esistono varie capacità all'interno di ciascuna categoria e sono trattate in modo più approfondito nella moderna documentazione dei comandi:

  • Display. Come appare il pulsante e dove si trova in un'app. Ad esempio, l'etichetta, l'icona e le etichette di accessibilità del pulsante, nonché la posizione della barra dei comandi e la posizione all'interno della barra dei comandi.
  • Action. La logica che viene eseguita quando viene selezionato un pulsante. Ad esempio, creare e aggiornare dati o interagire con vari controlli e pagine all'interno dell'app.
  • Visibility. Condizioni logiche che specificano quando un pulsante è visibile o nascosto a un utente. Ad esempio, potresti volere che il pulsante sia visibile per alcuni utenti e nascosto per altri. O forse il pulsante deve essere visibile solo quando sono soddisfatti determinati criteri dei record di dati.

Posizioni delle barre dei comandi

  • Griglia principale. Questa barra dei comandi viene visualizzata quando si utilizza la barra di spostamento sinistra di un'app per visualizzare un elenco a pagina intera di record in questa tabella.

    Barra dei comandi nella griglia principale

  • Modulo principale. Questa barra dei comandi viene visualizzata nei moduli principali della tabella. Appare nella parte superiore del modulo e non è uguale alla visualizzazione associata o alla visualizzazione della griglia secondaria che apparirà in aree diverse del modulo.

    Modulo principale

  • Visualizzazione griglia secondaria. Questa barra dei comandi è visualizzata nei moduli di altre tabelle che eseguono il rendering dei dati di questa tabella in una griglia secondaria. Ad esempio, il modulo di account principale presenta un controllo della griglia secondaria che elenca i record dei contatti relativi al record dell'account. Per modificare la barra dei comandi sottostante, modifica la barra dei comandi per la tabella dei contatti e quindi la visualizzazione della griglia secondaria.

    Visualizzazione griglia secondaria

  • Visualizzazione associata. Questa barra dei comandi viene visualizzata nel modulo di una tabella padre quando si visualizzano i dati correlati in questa tabella. Ad esempio, nel modulo principale di un record account seleziona la scheda Elementi correlati, quindi seleziona una tabella correlata come i contatti.

    Visualizzazione associata.

  • Azioni rapide; Le azioni rapide sono associate alla posizione della griglia principale. Per aggiungere o modificare comandi sia per le azioni rapide che per le posizioni della griglia principale, seleziona la tabella desiderata all'interno della moderna progettazione dell'app, quindi modifica la barra dei comandi e scegli la posizione della griglia principale. I primi cinque comandi, determinati in base all'ordine, verranno visualizzati anche come azioni rapide durante la riproduzione dell'app.

    Un esempio di azione rapida configurata nella tabella dei contatti

Nota

Le posizioni della barra dei comandi personalizzate meno frequentemente non sono supportate nella finestra di progettazione dei comandi. Vedi le sezioni Barra dei comandi globale e altre barre multifunzione per ulteriori informazioni sulla personalizzazione dei comandi per queste posizioni.

Tipi di comandi

  • Comando. Pulsante standard. Esegue un'azione quando selezionato. Può anche essere nidificato in gruppi all'interno di menu a discesa e pulsanti di menu combinato. Nota che questi erano chiamati riquadro a comparsa nei comandi classici.
  • Elenco a discesa. Crea un menu in cui puoi organizzare i comandi in un gruppo.
  • Gruppo. Aggiungi titoli a gruppi di comandi annidati in elenchi a discesa e pulsanti di menu combinato.
  • Pulsante di menu combinato. Simile a un menu a discesa, ma ha un comando principale. Quando si seleziona il pulsante di menu combinato, viene eseguita l'azione del comando principale. Se si seleziona la freccia di espansione, il comando principale non verrà eseguito. Al contrario, un elenco si espanderà per mostrare gruppi, riquadri a comparsa e comandi aggiuntivi.

Tipi di comando

Differenze chiave tra comandi classici e moderni

I comandi classici (precedentemente noti come barra multifunzione) non erano personalizzabili con un uso limitato di codice. Con il codice, le personalizzazioni dei comandi risultavano difficili, noiose e soggette a errori. Per scalare i comandi con uso limitato di codice nonché utilizzare pagine personalizzate per far convergere canvas e app basate su modello, era fondamentale reinventare e ricreare l'infrastruttura dei comandi.

Il comando moderno offre molte nuove capacità ed è molto più semplice da usare.

Funzionalità Classico Moderno
Supportato nel runtime dell'app basata su modello Sì, supporta inoltre il runtime di Power Fx.
Uso personalizzato Modifica manuale di XML all'interno di file di soluzione o utilizzando strumenti di terze parti. Richieste operazioni di esportazione e importazione di soluzioni che richiedono tempo. La finestra di progettazione dei comandi così come il supporto API Dataverse.
Supportino Power Fx. No Sì. Per azioni e visibilità.
Tempo necessario per la personalizzazione Lento, soggetto a errori. Veloce
Affidabilità e prestazioni Facile fare errori. La cattiva personalizzazione e la mancanza di ambito spesso influiscono sulle prestazioni dell'app La gestione degli errori inline previene gli errori. Power Fx ottimizzato per prestazioni di runtime migliori.
Condivisione Sicurezza basata sui ruoli Dataverse standard. I comandi non Power Fx utilizzano la sicurezza basata sui ruoli Dataverse standard. I comandi Power Fx attualmente richiedono la condivisione della libreria dei componenti dei comandi oltre ad avere un ruolo di sicurezza appropriato.
Soluzione e comportamenti ALM Livelli della soluzione incoerenti e problematici, non presenti nell'interfaccia della soluzione. Molti comportamenti della soluzione standard non sono supportati come patch, segmentazione, aggiornamento della soluzione, proprietà gestite e molti altri. Livelli della soluzione standard gestiti centralmente per più tipi di oggetto della soluzione in Dataverse. Presenti nell'interfaccia della soluzione. Sono supportati tutti i comportamenti della soluzione standard.
Localizzazione Non standard Standardizzato utilizzando traduzioni di esportazione e importazione per l'intera soluzione.
Modello di dati Complesso. Ottimizzato per le barre multifunzione classiche e contiene molte proprietà che non sono più necessarie. Semplice, ottimizzato per le odierne barre dei comandi delle app basate su modello.
Usa JavaScript Sì. Ora più semplice. Nota: lo stesso JavaScript può essere utilizzato per i comandi classici e moderni.
Personalizza i comandi predefiniti I comandi diventano modificabili nella finestra di progettazione dei comandi una volta migrati al framework moderno.
Comandi specifici dell'app No Sì. L'utilizzo della finestra di progettazione dei comandi moderna garantisce che i comandi siano visibili solo all'interno dell'app selezionata.
Comandi specifici della tabella che verranno visualizzati in tutte le app che contengono la tabella Sì. Richiede la modifica della definizione appaction all'interno del file di soluzione.
Comandi globali che verranno visualizzati per tutte le tabelle e le app per la posizione della barra dei comandi specificata Sì. Richiede la modifica della definizione appaction all'interno del file di soluzione.
Crea pulsanti di menu combinato, riquadri a comparsa e gruppi
Popola dinamicamente un riquadro a comparsa con il codice Nr. Consigliamo di creare i comandi in modo dichiarativo.
Personalizza i comandi di intestazione dell'applicazione globale No
Personalizza i comandi per altre posizioni della barra dei comandi/non comuni o obsolete No
Esegui un flusso o un flusso di lavoro moderno Uso di JavaScript Uso di JavaScript. Supportato anche l'uso di una pagina personalizzata.

Confronto tra regole di visibilità classiche e moderne

Le regole di visibilità classiche spesso avevano una regola specifica per ogni scenario. Con Power Fx, una funzione dichiarativa sostituisce molte regole classiche. Ed è molto più semplice da usare.

Tieni presente che le regole di visibilità classiche saranno presto supportate anche all'interno dei comandi moderni. Tuttavia, era necessario il supporto per le regole classiche per migrare in modo affidabile i comandi classici ai comandi moderni e la personalizzazione delle regole classiche all'interno della finestra di progettazione dei comandi non è supportata. Ti consigliamo di utilizzare Power Fx in futuro.

Caso d'uso Regola classica Opzioni classiche Proprietà visibile di Power Fx
Mostra/nascondi in base ai valori dei dati CustomRule Usa JavaScript !IsBlank(Self.Selected.Item.Email)
Mostra/nascondi in base all'autorizzazione della tabella EntityPrivilegeRule Multipla DataSourceInfo()
Mostra/nascondi in base all'autorizzazione del record RecordPrivilegeRule Multipla RecordInfo()
Fa riferimento al contesto di controllo per le tabelle primarie e correlate EntityRule PrimaryEntity. SelectedEntity Self.Selected
Fa riferimento al contesto del controllo EntityRule Form. HomePageGrid. SubGridStandard. SubGridAssociated Self.Selected
Proprietà metadati della tabella EntityPropertyRule DataSourceInfo()
Mostra/nascondi in base allo stato del modulo. Ad esempio, mostra per il modulo di creazione FormStateRule Create. Existing. ReadOnly. Disabled. BulkEdit Self.Selected.State = FormMode.New
Mostra quando > 1 record sono selezionati in una griglia SelectionCountRule CountRows(Self.Selected.Items) > 1
Mostra/nascondi per una tabella correlata in una ricerca polimorfica. Ad esempio, controlla se la ricerca è un utente OPPURE un team CustomRule PrimaryEntityTypeCode IsType(), AsType
Fa riferimento alle proprietà di ambiente (org) CustomRule OrgName. OrgLcid. UserLcid Attualmente non disponibile

Domande frequenti

  • Perché vedo più comandi nella finestra di progettazione di quanti ne vedo nella mia app?
    • Per vari motivi. A volte la logica di visibilità nasconderà il comando durante l'esecuzione dell'app. Altre volte questi comandi vengono inseriti dinamicamente tramite JavaScript personalizzato durante il runtime e non sono configurabili.
  • Perché vi sono comandi duplicati nella finestra di progettazione?
    • Si tratta di un modello comune utilizzato con i comandi classici. Entrambi i comandi non venivano visualizzati nel runtime poiché erano controllati da regole di visibilità. La finestra di progettazione comandi mostrerà tutti i comandi, indipendentemente dalle relative regole di visibilità.

Vedi anche

Personalizzare la barra dei comandi utilizzando la finestra di progettazione comandi
Gestire comandi nelle soluzioni
Limitazioni note dei comandi moderni