Upotreba dodatka Power Fx s naredbama

Ovaj članak pokriva aspekte programa Power Fx koji su specifični za davanje naredbi. Mogu se koristiti i mnoge druge funkcije koje se danas koriste u aplikacijama od gotovih gradivnih elemenata. Imajte na umu da postoje razlike jer je davanje naredbi za aplikacije stvorene prema modelu.

  • Podržane su sve postojeće funkcije protoka podataka. Što su protoci podataka?
  • Podržane su imperativne funkcije koje rade s podacima.
  • Podržane su imperativne funkcije za jednostavne naredbe Confirm i Notify.
  • Za popis funkcija koje nisu podržane, idite na Funkcije koje nisu podržane.

Napomena

Objavljivanje Power Fx naredbi može potrajati nekoliko minuta. Možda nije očito da se pozadinske operacije još izvode čak i nakon što se čini da je operacija objavljivanja dovršena. Možda ćete morati pričekati nekoliko minuta nakon objavljivanja, a zatim osvježiti aplikaciju da biste vidjeli svoje promjene. To obično traje dulje prvi put kada se naredba temeljena na servisu Power Fx objavljuje za aplikaciju.

OnSelect

Definira logiku koja se izvršava kada je gumb odabran unutar aplikacije.

Vidljivo

Definira logiku za skrivanje ili prikazivanje gumba prilikom pokretanja aplikacije.

Da biste definirali logiku vidljivosti, odaberite naredbu. Zatim odaberite Vidljivost na desnom oknu svojstava naredbe i odaberite Prikaži stanje iz formule. Možete odabrati Vidljivo s lijeve strane trake formule, a zatim napisati izraz pomoću trake Power Fx formule.

Odabrano svojstvo

Polje Tip Opis
Stavka Zapis izvora podataka Jedan od zapisa odabranih iz izvora DataSource.
Sve stavke Tablica zapisa iz izvora podataka Svi zapisi odabrani iz izvora DataSource.
Stanje Enumeracija Stanje odabrane kontrole. Uredi (=0), Novo (=1), Pogledaj (=2)
Nespremljeno Booleov Vraća true ako Selected ili SelectedItems imaju nespremljene promjene. U suprotnom vraća false. Uvijek vraća false ako je AutoSave postavljeno na true (zadana opcija) unutar naredbene biblioteke komponente.
  • Svojstvo Odabrano daje domaćin naredbe.
  • Stavka i Sve stavke nazivi su donekle u skladu s kontrolom ComboBox i galerijom, ali ovo je novi uzorak.
  • Ako nije odabran nijedan zapis, Item vraća Blank (IsBlank vraća true), a AllItems vraća praznu tablicu (IsEmpty vraća true).
  • Null DataSource za reference zapisa (polimorfne vrste zapisa). Mogu se pozvati generičke funkcije, poput Spremi ili JeVrsta/KaoVrsta.
  • Stavka je uvijek prazna ako je SelectionMax <> 1. Time se sprječava upisivanje formula na samo jednu stavku i skaliranje na više od jedne.

Automatsko spremanje

  • Mnoge JavaScript naredbe započinju spremanjem međuspremnika za obrasce. To je zato što olakšava rad s ostatkom koda.
  • Prema zadanim postavkama, međuspremnik za obrasce sprema se u ime proizvođača aplikacije.
    • Obrazac se sprema prije pokretanja naredbe.
    • Svi problemi koji se jave tijekom operacije spremanja rješavaju se unutar korisničkog sučelja obrasca.

Funkcija Naljepak

Zakrpajte (ažurirajte) trenutačno odabrani zapis

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

Stvaranje povezanog zapisa

Napomena

Ako povezana tablica još nije u knjižnici naredbenih komponenti, morat ćete je otvoriti u studiju radnog područja i tamo dodati izvor podataka.

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

Provjerite i uredite svojstvo datuma

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

Vidljivo svojstvo: Prikažite naredbu samo ako je jedan ili više zapisa odabrano u prikazu rešetke

CountRows(Self.Selected.AllItems) > 0

Upravljajte vidljivošću na temelju zapisa podataka

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

Prijelaz

Napomena

Za dodatne opcije, pogledajte referencu klijentskog API-ja za upotrebu programskog jezika JavaScript. Dodatne informacije: navigirajte (referenca API-ja klijenta)

Kretanje prema prilagođenoj stranici

Za navigaciju do prilagođene stranice radnog područja unutar aplikacije stvorene prema modelu, proslijedite naziv stranice kao prvi argument.

Navigate( myCustomPage )

Za prelazak na zadani prikaz tablice, proslijedite ime tablice kao prvi argument.

Navigate( Accounts )

Za navigaciju do određenog sistemskog prikaza tablice, proslijedite enumeraciju Views tablice.

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

Za prelazak na zadani obrazac tablice, proslijedite zapis kao prvi argument.

Navigate( Gallery1.Selected )

Za prelazak na zadani obrazac tablice, proslijedite Dataverse zapis nastao iz funkcije zadanih postavki. Ovo otvara zadani obrazac sa zapisom kao novim zapisom. Funkcija Zadane postavke uzima naziv tablice za stvaranje zapisa.

Navigate( Defaults( Accounts ) )

Optimizirajte korisničko iskustvo s izvorom podataka i informacijama o zapisu

Koristite funkciju DataSourceInfo i funkciju RecordInfo da biste optimizirali korisničko iskustvo s informacijama o podacima koji se prikazuju i kojima se manipulira.

Na primjer, upotrijebite RecordInfo da biste utvrdili ima li trenutni korisnik dozvolu za izmjenu zapisa i na odgovarajući način prikažite ili sakrijte gumb "Uredi" pomoću svojstva Vidljivo :

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

Na primjer, upotrijebite DataSourceInfo da biste utvrdili ima li trenutni korisnik dozvolu za stvaranje zapisa i na odgovarajući način prikažite ili sakrijte gumb "Stvori" pomoću svojstva Vidljivo :

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

Zatražite potvrdu prije nego što poduzmete akciju

Upotrijebite funkciju Potvrdi za prikaz dijaloškog okvira na vrhu trenutnog zaslona.

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

Prikazuje obavijest true ako se pritisne tipka Da i obavijest false ako se pritisne tipka Ne . ·

Obavijestite korisnika

Obavijest se može prikazati korisnicima aplikacije pozivanjem funkcije obavijesti.

Napomena

NotificationType.Success trenutno nije podržan i rezultirat će informativnom vrstom obavijesti.

Notify( "Model-driven app notification message" )

Drugi primjeri

Pokreni URL

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

Pristup 1:N svojstvo

Self.Selected.Item.'Recurring Appointments'

Provjerite svojstvo povezanog zapisa

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

Funkcije nisu podržane

Sljedeće Power Fx funkcije trenutno nisu podržane s naredbama u aplikacijama stvorenim prema modelu.

  • Natrag()
  • Očisti()
  • Prikupi()
  • Kopija()
  • Onemogući()
  • Omogući()
  • Exit()
  • InvokeControl()
  • Jezik()
  • LoadData()
  • Param()
  • Ispis()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • User()
  • ViewForm()

Enums not supported

  • Poravnaj
  • AlignInContainer
  • BarcodeType
  • BorderStyle
  • Boja
  • Smjer
  • DisplayMode
  • Font
  • FontWeight
  • FormPattern
  • GridStyle
  • ImagePosition
  • ImageRotation
  • LabelPosition
  • Raspored
  • LayoutAlignItems
  • LayoutDirection
  • LayoutJustifyContent
  • Način rasporeda
  • LayoutOverflow
  • ListItemTemplate
  • MapStyle
  • Prelijevanje
  • PDFPasswordState
  • PenMode
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Teme
  • Prijelaz
  • VerticalAlign
  • VirtualKeyboardMode
  • Zumiranje

Ostala nepodržana područja

  • Ubrzanje
  • App
  • Compass
  • Connection
  • Dataverse Stupci vrste datoteke
  • Okruženje
  • Domaćin
  • Raspored
  • Lokacija
  • ScreenSize

Pogledajte

Objašnjenje formula ponašanja

Referenca formule

Pregled servisa Power Fx