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 e Notify 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

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 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

Informazioni di riferimento sulle formule

Panoramica di Power Fx