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.
  • Sunt acceptate funcțiile imperative pentru Confirm și Notify simple.
  • Pentru o listă de funcții care nu sunt acceptate, accesați Funcții care nu sunt acceptate.

Notă

Publicarea comenzilor Power Fx poate dura câteva minute. S-ar putea să nu fie evident că operațiunile din fundal încă mai rulează chiar și după ce operațiunea de publicare pare să se fi finalizat. Poate fi necesar să așteptați câteva minute după publicare, apoi să reîmprospătați aplicația pentru a vedea modificările reflectate. Acest lucru durează de obicei mai mult prima dată când este publicată o comandă Power Fx pentru o aplicație.

OnSelect

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

Vizibilă

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

Pentru a defini logica vizibilității, selectați comanda. Apoi selectați Vizibilitate în panoul de proprietăți ale comenzii din dreapta și alegeți Afișați cu condiția din formulă. Puteți selecta Vizibil în partea stângă a barei de formule, apoi puteți scrie o expresie Power Fx 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 Selectat este furnizată de gazda comenzii.
  • Numele Element și AllItems sunt oarecum compatibile cu controlul ComboBox și controlul Galerie, dar acesta este un nou model.
  • Dacă nu este selectată nicio înregistrare, Element returnează Blank (IsBlank returnează adevărat) și AllItems returnează un tabel gol (IsEmpty returnează adevărat).
  • 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 <> 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ă, va trebui să îl deschideți în studioul de proiectare pe planșă și să adăugați acolo sursa de date.

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 Views a tabelului.

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 formularul implicit al tabelului, treceți o înregistrare Dataverse creată din funcția Valori implicite. Aceasta deschide formularul implicit cu înregistrarea ca o înregistrare nouă. Funcția Valori implicite preia numele tabelului pentru a crea înregistrarea.

Navigate( Defaults( Accounts ) )

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

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

De exemplu, utilizați RecordInfo pentru a determina dacă utilizatorul actual are permisiunea de a modifica o înregistrare și de a afișa sau ascunde în mod corespunzător un buton „Editați” folosind Proprietate vizibilă:

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

De exemplu, utilizați DataSourceInfo pentru a determina dacă utilizatorul actual are permisiunea de a crea o înregistrare și de a afișa sau ascunde în mod corespunzător un buton „Creați” folosind Proprietate vizibilă:

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

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

Utilizaț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 true dacă se apasă butonul Da și o notificare false dacă este apăsat butonul Nu .

Anunțați utilizatorul

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

Notă

NotificationType.Success nu este acceptată în prezent și va avea ca rezultat un tip de notificare informațională.

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 comanda î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 sunt nu sunt acceptate în prezent cu comanda î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

Ce sunt formulele de comportament

Referință privind formulele

Prezentare generală Power Fx