Uso di Power Fx
Power Fx è il linguaggio con poco codice usato in Microsoft Power Platform. Se si è creata un'app canvas con Power Apps, è probabile che si abbia già familiarità con Power Fx. Power Apps può anche essere usato per implementare logica personalizzata con comandi Power Fx della barra dei comandi basati su modello. La logica della barra dei comandi può usare un sottoinsieme delle funzionalità di linguaggio complete di Power Fx.
È possibile usare Power Fx per la personalizzazione di un comando in due posizioni:
OnSelect: questa logica viene eseguita quando un utente seleziona un pulsante di comando.
Visible: questa logica viene eseguita per valutare se il comando deve essere nascosto o visibile all'utente che esegue l'app.
Configurazione di OnSelect
Per usare la logica Power Fx quando il comando è selezionato, assicurarsi che la proprietà dell'azione sia configurata per eseguire la formula. Azione è disponibile nel riquadro Comando sul lato sinistro della schermata.
Una volta configurata, la barra della formula è abilitata ed è possibile fornire la logica Power Fx. Questa opzione è l'impostazione predefinita per i nuovi comandi. Tuttavia, se la barra della formula è disabilitata, probabilmente si sta lavorando con un comando che usa JavaScript per la logica.
È possibile fornire logica personalizzata usando la barra della formula nella parte superiore della pagina.
La formula predefinita è semplicemente "true", il che non fa accadere nulla. È necessario fornire la propria logica affinché il comando esegua un'azione quando viene selezionato.
Si può anche selezionare la barra della formula aperta nel riquadro Comando, che imposterà lo stato attivo sulla barra della formula per permettere di apportare modifiche.
Quando un utente seleziona il comando, tutte le modifiche in sospeso sui dati del modulo vengono salvate e viene quindi eseguita la logica OnSelect del comando. Questo ordine garantisce uno stato coerente dei dati al momento dell'esecuzione del comando.
Configurazione della visibilità
Per impostazione predefinita, i nuovi comandi aggiunti a una barra dei comandi saranno visibili. Modificando la proprietà di visibilità del comando su Mostra in base a condizione da formula è quindi possibile fornire una formula che viene valutata per determinare se il comando deve essere visibile. La proprietà Visibilità è disponibile e può essere modificata nel riquadro Comando a sinistra.
È possibile fornire logica di visibilità personalizzata di un comando usando la barra della formula nella parte superiore della pagina.
Come detto in precedenza, la formula predefinita è semplicemente "true", che non fa altro che rendere il comando sempre visibile. Per modificare l'impostazione predefinita, è necessario fornire la logica true/false personalizzata. Se la valutazione della formula determina un risultato false, il comando non sarà visibile.
La formula di visibilità viene rivalutata in caso di modifica di uno qualsiasi dei suoi valori dipendenti. Ciò permette alla visibilità del comando di reagire alla condizione attuale dei dati e delle azioni dell'utente. Ad esempio, un pulsante potrebbe non essere visibile fino a quando non vengono selezionate tutte le righe in una griglia.
Dati attualmente attivi
La possibilità di fare riferimento ai dati attualmente attivi rappresenta una caratteristica preziosa durante la scrittura di formule per i comandi. Ad esempio, se la barra dei comandi si trova nel modulo principale per una riga della tabella, i dati attivi correnti sono rappresentati dalla riga. Se la barra dei comandi si trova sulla griglia principale, allora i dati attualmente attivi sono rappresentati dalla tabella delle righe visualizzate sulla griglia.
È possibile accedere ai dati attivi correnti mediante la proprietà Selected. La proprietà Selected viene automaticamente popolata in fase di esecuzione. La proprietà Selected ha più campi, resi disponibili a seconda che sia selezionato un singolo elemento o una tabella di elementi.
| Campo | Tipo | Descrizione |
|---|---|---|
| Elemento | Record da DataSource | Disponibile solo quando è selezionata una singola riga o quando su un modulo viene visualizzata una singola riga. Quando non è popolato, verrà impostato su vuoto. Ad esempio, la seguente formula controllerà il valore della colonna della valutazione dell'account. Self.Selected.Item.'Account Rating'>20 |
| AllItems | Tabella dei record da DataSource | Tutte le righe selezionate da DataSource. Ad esempio, la formula seguente controllerà il conteggio selezionato. CountRows(Self.Selected.AllItems) > 0 |
| Stato | Enum | Indica se il controllo di hosting è nello stato Edit (=0), New (=1) o View (=2). |
| Non salvato | Boolean | Restituisce true se Selected o SelectedItems presenta modifiche non salvate. In caso contrario, restituisce false. |
Dati da origini dati
Oltre a lavorare con i dati della proprietà Selected, è anche possibile eseguire query e salvare i dati in altre tabelle Microsoft Dataverse. Ad esempio, la formula seguente modifica il nome su una riga di account in "Nuovo nome account".
Patch(Accounts, Self.Selected.Item, {'Account Name': "New Account name"})
È inoltre possibile usare le relazioni tra tabelle per accedere alle righe correlate. Ad esempio, la seguente formula permette di accedere agli appuntamenti ricorrenti correlati dell'elemento attualmente selezionato.
Self.Selected.Item.'Recurring Appointments'
Attualmente, Microsoft Dataverse è l'unica origine dati disponibile per l'uso dalla logica dei comandi.
Scenari comuni
L'uso della logica di Power Fx su un comando consente di gestire un'ampia gamma di casi d'uso. Di seguito sono riportati alcuni esempi di casi d'uso comuni che è possibile implementare:
Creare righe correlate in base ai dati correnti. Ad esempio, creare una serie di chiamate di completamento pianificate in base al potenziale valore dell'opportunità.
Accedere a siti Web interni o esterni. Ad esempio, si potrebbe eseguire una ricerca su un sito di notizie per la società corrente passando il nome dell'azienda della riga come parametro di ricerca.
Modificare i dati sulla riga corrente. Ad esempio, si potrebbe avere una tabella dei servizi che tiene traccia dei clienti del servizio attivo. È possibile selezionare un comando su una riga inattiva per riattivare il servizio per il cliente impostando vari valori sulla riga per riflettere il nuovo stato del servizio.
Usare RecordInfo per assicurarsi che i comandi siano visibili quando dovrebbero esserlo. È possibile usare RecordInfo per ottenere informazioni su un particolare record di un'origine dati. Ad esempio, si può verificare se l'utente dispone dell'autorizzazione di modifica e mostrare il comando solo in caso affermativo.
Quando si inizia a implementare la logica Power Fx per i comandi, con ogni probabilità si inizieranno a creare casi d'uso univoci per le proprie app.