Utilizzo di Power Fx con i comandi
Questo articolo copre gli aspetti di Power Fx specifici dell'uso dei comandi. È anche possibile utilizzare molte altre funzioni attualmente in uso nelle app canvas. Tieni presente che ci sono differenze in quanto i comandi sono per le app basate su modello.
- Tutte le funzioni del flusso di dati esistenti sono supportate. Cosa sono i flussi di dati?
- Sono supportate le funzioni obbligatorie utilizzate con i dati.
- Sono supportate le funzioni obbligatorie per le operazioni
Confirm
eNotify
semplici. - Per un elenco delle funzioni non supportate, vai a Funzioni non supportate.
Nota
La pubblicazione dei comandi Power Fx potrebbe richiedere alcuni minuti. Potrebbe non essere ovvio che le operazioni in background siano ancora in esecuzione anche dopo che l'operazione di pubblicazione sembra completata. Potrebbe essere necessario attendere alcuni minuti dopo la pubblicazione, quindi aggiornare l'app per visualizzare le modifiche apportate. Questo in genere richiede più tempo la prima volta che viene pubblicato un comando basato su Power Fx per un'app.
OnSelect
Definisce la logica che viene eseguita quando si seleziona il pulsante all'interno dell'app.
Visibile
Definisce la logica per nascondere o mostrare il pulsante durante l'esecuzione dell'app.
Per definire la logica di visibilità, seleziona il comando. Quindi seleziona Visibility nel riquadro delle proprietà del comando a destra e scegli Mostra in base a condizione da formula. Puoi selezionare Visibile a sinistra della barra della formula, quindi scrivere un'espressione Power Fx utilizzando la barra della formula.
Proprietà selezionata
Campo | Tipo | Descrizione |
---|---|---|
Item | Record di DataSource | Uno dei record selezionati in DataSource. |
AllItems | Tabella di record di DataSource | Tutti i record selezionati in DataSource. |
State | Enumerazione | Stato del controllo selezionato. Modifica (=0), Nuovo (=1), Visualizza (=2) |
Unsaved | Booleano | Restituisce true se Selected o SelectedItems contiene modifiche non salvate. In caso contrario, restituisce false. Restituisce sempre false se AutoSave è impostato su true (opzione predefinita) all'interno della libreria dei componenti del comando. |
- La proprietà Selezionato è fornita dall'host del comando.
- I nomi Item e AllItems sono in qualche modo coerenti con il controllo ComboBox e il controllo Raccolta, ma questo è un nuovo modello.
- Se non è selezionato alcun record, Item restituisce Blank (IsBlank restituisce tru) e AllItems restituisce una tabella vuota (IsEmpty restituisce true).
- Null DataSource per riferimenti a record (tipi di record polimorfici). È possibile chiamare funzioni generiche, ad esempio è possibile usare Save o IsType/AsType.
- Item è sempre vuoto se SelectionMax <> 1. Ciò impedisce di scrivere formule in un solo elemento e di non ridimensionarle a più di un elemento.
AutoSave
- Molti comandi JavaScript iniziano con il salvataggio del buffer del modulo. Questo perché rende più facile utilizzare il resto del codice.
- Per impostazione predefinita, il buffer del modulo viene salvato per conto del creatore di app.
- Il modulo viene salvato prima dell'avvio del comando.
- Eventuali problemi che si verificano durante l'operazione di salvataggio vengono gestiti nell'interfaccia utente del modulo.
Funzione Patch
Patch (aggiorna) il record attualmente selezionato
Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})
Creare un record correlato
Nota
Se la tabella correlata non è già nella libreria dei componenti del comando, dovrai aprirla in canvas studio e aggiungere l'origine dati.
Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})
Controllare e modificare una proprietà data
If(Self.Selected.Item.'Last Date Included in Campaign'>DateAdd(Now(),-3), Patch(Accounts,Self.Selected.Item,{'Last Date Included in Campaign':Date(2021,10,19)}))
Proprietà visibile: mostra il comando solo se uno o più record sono selezionati in una vista griglia
CountRows(Self.Selected.AllItems) > 0
Controllare la visibilità in base ai dati di record
//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20
Navigate
Nota
Per ulteriori opzioni, vedi il riferimento all'API client per utilizzare JavaScript. Maggiori informazioni: navigateTo (Riferimento API client)
Accesso a una pagina personalizzata
Per accedere a una pagina canvas personalizzata all'interno di un'app basata su modello, passa il nome della pagina come primo argomento.
Navigate( myCustomPage )
Passare alla visualizzazione predefinita della tabella
Per passare alla visualizzazione predefinita della tabella, passa il nome della tabella come primo argomento.
Navigate( Accounts )
Passare alla specifica visualizzazione di sistema della tabella
Per passare a una specifica visualizzazione di sistema della tabella, passa l'enumerazione Views
della tabella.
Navigate( 'Accounts (Views)'.'My Active Accounts' )
Passare al modulo predefinito della tabella
Per passare al modulo predefinito della tabella, passa il record come primo argomento.
Navigate( Gallery1.Selected )
Passare al modulo predefinito della tabella in modalità di creazione
Per passare al modulo predefinito della tabella, passa un record Dataverse creato dalla funzione Defaults. In questo modo si apre il modulo predefinito con il record come nuovo record. La funzione Defaults usa il nome della tabella per creare il record.
Navigate( Defaults( Accounts ) )
Ottimizza l'esperienza utente con l'origine dati e registra le informazioni
Utilizza la funzione DataSourceInfo e RecordInfo per ottimizzare l'esperienza utente con informazioni sui dati visualizzati e manipolati.
Ad esempio, utilizza RecordInfo per determinare se l'utente corrente ha l'autorizzazione a modificare un record e mostrare o nascondere appropriatamente un pulsante "Modifica" utilizzando una proprietà Visibile:
EditButton.Visible =
RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )
Ad esempio, utilizza DataSourceInfo per determinare se l'utente corrente dispone dell'autorizzazione per creare un record e mostrare o nascondere in modo appropriato un pulsante "Crea" utilizzando la proprietà Visible:
CreateButton.Visible =
DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )
Chiedi conferma prima di agire
Usa la funzione Conferma per visualizzare una finestra di dialogo nella parte superiore della schermata attuale.
Notify( Confirm( "Are you sure?",
{ ConfirmButton: "Yes", CancelButton: "No" }
)
)
Visualizza una notifica true se si preme il pulsante Sì e una notifica false se si preme il pulsante No.
Invia una notifica all'utente
È possibile mostrare una notifica agli utenti dell'app chiamando la funzione Notify.
Nota
NotificationType.Success
non è attualmente supportato e risulterà in un tipo di notifica informativa.
Notify( "Model-driven app notification message" )
Altri esempi
Avviare un URL
Launch("https://www.bing.com");
Accedere alla proprietà 1:N
Self.Selected.Item.'Recurring Appointments'
Verificare la proprietà di un record correlato
Self.Selected.Item.'Parent Account'.'Account Name'="parent"
Funzioni non supportate
Le seguenti funzioni di Power Fx non sono attualmente supportate con i comandi nelle app basate su modello.
- Back()
- Clear()
- Collect()
- Copy()
- Disable()
- Enable()
- Exit()
- InvokeControl()
- Language()
- LoadData()
- Param()
- Stampa()
- ReadNFC()
- RequestHide()
- ResetForm()
- Revert()
- SaveData()
- ScanBarcode()
- Set()
- SubmitForm()
- UpdateContext()
- User()
- ViewForm()
Enumerazioni non supportate
- Align
- AlignInContainer
- BarcodeType
- BorderStyle
- Color
- Direction
- DisplayMode
- Font
- FontWeight
- FormPattern
- GridStyle
- ImagePosition
- ImageRotation
- LabelPosition
- Layout
- LayoutAlignItems
- LayoutDirection
- LayoutJustifyContent
- LayoutMode
- LayoutOverflow
- ListItemTemplate
- MapStyle
- Overflow
- PDFPasswordState
- PenMode
- RemoveFlags
- ScreenTransition
- TeamsTheme
- TextFormat
- TextMode
- TextPosition
- Themes
- Transition
- VerticalAlign
- VirtualKeyboardMode
- Zoom
Altre aree non supportate
- Accelerazione
- App
- Bussola
- Connessione
- Colonne tipo di file Dataverse
- Ambiente
- Organizzatore evento
- Layout
- Ubicazione
- ScreenSize
Vedi anche
Informazioni sulle formule relative al comportamento