Folosirea Power Fx cu comenzi

Acest articol acoperă aspecte ale Power Fx care sunt specifice comenzilor. Multe alte funcții care sunt utilizate astăzi în aplicațiile proiectate pe pânză pot fi, de asemenea, utilizate. Rețineți că există diferențe, deoarece comanda este pentru aplicațiile proiectate pe bază de model.

  • Sunt acceptate toate funcțiile de flux de date existente. Ce sunt fluxurile de date?
  • Funcțiile imperative care funcționează cu date sunt acceptate.
  • Funcțiile imperative pentru funcții simple Confirm și Notify sunt acceptate.
  • Pentru o listă de funcții neacceptate, accesați Funcții neacceptate.

Notă

Publicarea comenzilor ar putea dura câteva minute. Power Fx Este posibil să nu fie evident că operațiunile în fundal rulează încă, chiar și după ce operațiunea de publicare pare să se fi finalizat. Este posibil să fie nevoie să așteptați câteva minute după publicare, apoi să reîmprospătați aplicația pentru a vedea modificările reflectate. Această operațiune durează de obicei mai mult prima dată când o comandă bazată pe Power Fx este publicată pentru o aplicație.

OnSelect

Definește logica care se execută atunci când butonul este selectat în cadrul aplicației.

Vizibilă

Definește logica pentru ascunderea sau afișarea butonului atunci când aplicația rulează.

Pentru a defini logica de vizibilitate, selectați comanda. Apoi selectați Vizibilitate în panoul de proprietăți al comenzii din dreapta și alegeți Afișare în funcție de condiția din formulă. Puteți selecta Vizibil în stânga barei de formule, apoi puteți scrie o Power Fx expresie folosind bara de formule.

Proprietate selectată

Câmp Tipul Descriere
Element Înregistrare a DataSource Una dintre înregistrările selectate din DataSource.
AllItems Tabel de înregistrări din DataSource Toate înregistrările selectate din DataSource.
Stat/Județ/Provincie Enum Starea controlului selectat. Editați (=0), Nou (=1), Vizualizați (=2)
Nesalvat Boolean Returnează true dacă Selected sau SelectedItems au modificări nesalvate. În caz contrar, returnează false. Returnează întotdeauna false dacă AutoSave este setat la true (opțiunea implicită) în biblioteca de componente a comenzii.
  • Proprietatea Selected este furnizată de gazda comenzii.
  • Numele elementelor și AllItems sunt oarecum consistente cu cele ale controlului ComboBox și Gallery, dar acesta este un model nou.
  • Dacă nu este selectată nicio înregistrare, Item returnează Blank (IsBlank returnează true) și AllItems returnează un tabel gol (IsEmpty returnează true).
  • Null DataSource pentru referințe la înregistrări (tipuri de înregistrări polimorfe). Pot fi apelate funcții generice, cum ar fi Salvare sau IsType/AsType pot fi utilizate.
  • Elementul este întotdeauna gol dacă SelectionMax<> este 1. Acest lucru împiedică scrierea formulelor la un singur articol și nu scalează la mai mult de unul.

Salvare automată

  • Multe comenzi JavaScript încep prin salvarea bufferului formularului. Acest lucru se datorează faptului că face restul codului mai ușor de utilizat.
  • În mod implicit, zona tampon de formular este salvată în numele producătorului de aplicații.
    • Formularul este salvat înainte de inițierea comenzii.
    • Orice probleme care apar în timpul operației de salvare sunt tratate în interfața de utilizare a formularului.

Funcția Patch

Faceți o corecție (actualizare) la înregistrarea selectată curentă

Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})

Notă

Dacă tabelul aferent nu se află deja în biblioteca de componente de comandă, trebuie să îl deschideți în Canvas Studio și să adăugați sursa de date acolo.

Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})

Verificați și editați o proprietate de dată

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

Proprietate vizibilă: Afișați comanda numai dacă una sau mai multe înregistrări sunt selectate într-o vizualizare grilă

CountRows(Self.Selected.AllItems) > 0

Controlați vizibilitatea pe baza datelor înregistrate

//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20

Notă

Pentru opțiuni suplimentare, consultați referința API client pentru a utiliza JavaScript. Mai multe informații: navigateTo (referință API client)

Pentru a naviga la o pagină pe planșă particularizată într-o aplicație bazată pe model, transmiteți numele paginii ca prim argument.

Navigate( myCustomPage )

Pentru a naviga la vizualizarea implicită a tabelului, transmiteți numele tabelului ca prim argument.

Navigate( Accounts )

Pentru a naviga la o anumită vizualizare de sistem a tabelului, transmiteți enumerarea tabelului. Views

Navigate( 'Accounts (Views)'.'My Active Accounts' )

Pentru a naviga la formularul implicit al tabelului, treceți înregistrarea ca primul argument.

Navigate( Gallery1.Selected )

Pentru a naviga la forma implicită a tabelului, transmiteți o înregistrare Dataverse creată din funcția Defaults . Aceasta deschide formularul implicit cu înregistrarea ca o înregistrare nouă. Funcția *Defaults* preia numele tabelului pentru a crea înregistrarea.

Navigate( Defaults( Accounts ) )

Optimizați experiența utilizatorului cu sursa de date și înregistrați informații

Folosiți funcțiile DataSourceInfo și RecordInfo pentru a optimiza experiența utilizatorului cu informații despre datele afișate și manipulate.

De exemplu, utilizați RecordInfo pentru a determina dacă utilizatorul curent are permisiunea de a modifica o înregistrare și de a afișa sau ascunde în mod corespunzător un buton „Editare” folosind proprietatea sa Visible :

EditButton.Visible = 
   RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )

De exemplu, utilizați DataSourceInfo pentru a determina dacă utilizatorul curent are permisiunea de a crea o înregistrare și de a afișa sau ascunde în mod corespunzător un buton „Creare” folosind proprietatea Visible a sa:

CreateButton.Visible = 
   DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )

Cereți confirmare înainte de a lua măsuri

Folosiți funcția Confirmare pentru a afișa o casetă de dialog în partea de sus a ecranului curent.

Notify( Confirm( "Are you sure?", 
                 { ConfirmButton: "Yes", CancelButton: "No" } 
        ) 
)

Afișează o notificare adevărat dacă este apăsat butonul Da și o notificare fals dacă este apăsat butonul Nu .

Notificați utilizatorul

O notificare poate fi afișată utilizatorilor aplicației apelând funcția Notify.

Notă

NotificationType.Success nu este acceptat în prezent și are ca rezultat un tip de notificare informativă.

Notify( "Model-driven app notification message" )

Alte exemple

Lansați un URL

Launch("https://www.bing.com");

Acces 1: proprietate N

Self.Selected.Item.'Recurring Appointments'
Self.Selected.Item.'Parent Account'.'Account Name'="parent"

Funcții disponibile cu comandă

Pentru informații despre formulele acceptate cu comenzi în aplicațiile bazate pe model, accesați Referință formule - aplicații bazate pe model.

Funcții care nu sunt acceptate

Următoarele Power Fx funcții nu sunt acceptate în prezent cu comenzi în aplicațiile bazate pe model.

  • Back()
  • Clear()
  • Collect()
  • Copie()
  • Disable()
  • Enable()
  • Exit()
  • InvokeControl()
  • Language()
  • LoadData()
  • Param()
  • Imprimare()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • User()
  • ViewForm()

Enums nu este acceptată

  • Aliniere
  • AlignInContainer
  • BarcodeType
  • BorderStyle
  • Culoare
  • Direcție
  • DisplayMode
  • Font
  • FontWeight
  • FormPattern
  • GridStyle
  • ImagePosition
  • ImageRotation
  • LabelPosition
  • Aspect
  • LayoutAlignItems
  • LayoutDirection
  • LayoutJustifyContent
  • LayoutMode
  • LayoutOverflow
  • ListItemTemplate
  • MapStyle
  • Depășire
  • PDFPasswordState
  • PenMode
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Teme
  • Tranziție
  • VerticalAlign
  • VirtualKeyboardMode
  • Zoom

Alte zone neacceptate

  • Accelerare
  • App
  • Compass
  • Connection
  • Dataverse coloane de tip fișier
  • Mediu
  • Gazdă
  • Aspect
  • Locație
  • ScreenSize

Consultați și

Înțelegerea formulelor comportamentale

Referință formulă

Prezentare generală a Power Fx