Uporaba Power Fx z ukazi
Ta članek pokriva vidike Power Fx, ki so značilni za ukazovanje. Uporabite lahko tudi številne druge funkcije, značilne za aplikacije s platnom. Ne pozabite, da lahko naletite na razlike, saj so ukazi namenjeni aplikacijam, ki temeljijo na modelu.
- Podprte so vse obstoječe funkcije pretoka podatkov. Kaj so tokovi podatkov?
- Podprte so nujne funkcije, ki zadevajo podatke.
- Obvezne funkcije za preproste
ConfirminNotifyso podprti. - Za seznam funkcij, ki niso podprte, pojdite na Funkcije niso podprte.
Opomba
Objavljanje ukazov Power Fx lahko traja nekaj minut. Morda ni očitno, da se operacije v ozadju še vedno izvajajo, tudi ko se zdi, da je operacija objave zaključena. Morda boste morali počakati nekaj minut po objavi, nato osvežite aplikacijo, da se prikažejo vaše spremembe. To običajno traja dlje, ko je ukaz, ki temelji na Power Fx, prvič objavljen za aplikacijo.
OnSelect
Določa logiko, ki se bo izvajala, ko je gumb izbran v aplikaciji.
Vidno
Definira logiko za skrivanje ali prikazovanje gumba med zagonom aplikacije.
Za definiranje logike vidnosti izberite ukaz. Nato izberite Vidnost v desnem podoknu z lastnostmi ukaza in izberite Prikaži pod pogojem iz formule. Zdaj lahko izberete Vidno na levi strani vrstice s formulo nato napišite izraz Power Fx z uporabo vrstice s formulo.
Izbrana lastnost
| Polje | Vnesi | Description |
|---|---|---|
| Element | Zapis za DataSource | Eden od zapisov, izbranih iz vira podatkov. |
| AllItems | Tabela zapisov iz DataSource | Vsi zapisi, izbrani iz vira podatkov. |
| Država/regija | Oštevilčenje | Stanje izbranega krmilnika. Uredi (=0), Novo (=1), Ogled (=2) |
| Neshranjeno | Logično | Vrne true, če imajo izbrani ali izbrani predmeti neshranjene spremembe. V nasprotnem primeru vrne false. Vedno vrne false, če je samodejno shranjevanje nastavljeno na true (privzeta možnost) v knjižnici ukaznih komponent. |
- Lastnost Izbrano zagotovi gostitelj ukaza.
- Imena za Element in AllItems se ujemajo s kontrolnikom ComboBox in kontrolnikom galerije, vendar gre za nov vzorec.
- Če zapis ni izbran, Element vrne prazno vrednost (IsBlank vrne vrednost »true«), AllItems pa prazno tabelo (IsEmpty vrne vrednost »true«).
- Vrednost »null« za DataSource za sklice na zapise (polimorfne vrste zapisov). Prikličete lahko splošne funkcije, na primer »Shrani« ali »IsType/AsType«.
- Artikel je vedno prazen, če IzbiraMax <> 1. Tako se formule ne morejo zapisovati samo v en element in ne more se zgoditi, da vrednost njihove velikosti ne bi bila večja od ena.
Samodejno shranjevanje
- Z mnogimi ukazi JavaScript lahko začnete tako, da shranite medpomnilnik obrazcev. Tako si boste olajšali delo s preostankom kode.
- Medpomnilnik obrazcev je privzeto shranjen v imenu ustvarjalca aplikacije.
- Obrazec se shrani pred sprožitvijo ukaza.
- Vse težave, do katerih pride med shranjevanjem, se obravnavajo v uporabniškem vmesniku obrazca.
Funkcija popravka
Popravek (posodobitev) trenutno izbranega zapisa
Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})
Ustvarjanje sorodnega zapisa
Opomba
Če povezana tabela še ni v knjižnici ukaznih komponent, jo boste morali odpreti v studiu platna in tam dodati vir podatkov.
Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})
Preverjanje in urejanje lastnosti 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)}))
Vidna lastnost: ukaz naj se prikaže samo, če je v pogledu mreže izbran vsaj en zapis
CountRows(Self.Selected.AllItems) > 0
Nadzor vidljivosti na podlagi podatkov o zapisu
//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20
Pomik
Opomba
Za dodatne možnosti si oglejte referenco odjemalskega API-ja za uporabo JavaScript. Več informacij: navigateTo (sklic odjemalskega API-ja)
Pomaknite se na stran po meri
Če se želite pomakniti na stran s platnom po meri v aplikaciji, ki temelji na modelu, podajte ime strani kot prvi argument.
Navigate( myCustomPage )
Krmarjenje do privzetega pogleda tabele
Če se želite pomakniti do privzetega pogleda tabele, podajte ime tabele kot prvi argument.
Navigate( Accounts )
Krmarjenje do določenega sistemskega pogleda tabele
Če se želite pomakniti do določenega sistemski pogled tabele, podajte tabeleViews enum.
Navigate( 'Accounts (Views)'.'My Active Accounts' )
Krmarjenje do privzetega obrazca tabele
Za pomik na privzeti obrazec tabele kot prvi argument navedite zapis.
Navigate( Gallery1.Selected )
Krmarjenje do privzetega obrazca tabele v načinu ustvarjanja
Za pomik do privzetega obrazca tabele posredujte zapis Dataverse, ustvarjen s funkcijo Privzeto. Tako se bo odprl privzeti obrazec, na katerem bo zapis označen kot nov zapis. Funkcija Privzete nastavitve prevzame ime tabele za ustvarjanje zapisa.
Navigate( Defaults( Accounts ) )
Funkcija RecordInfo
Zagotavlja informacije o zapisu vira podatkov.
Uporabite RecordInfo za pridobitev informacij o določenem zapisu vira podatkov. Trenutno je podprto samo okolje Microsoft Dataverse.
Razpoložljive informacije:
| Argument informacije | Description |
|---|---|
| RecordInfo.DeletePermission | Ali ima trenutni uporabnik dovoljenje za odstranitev tega zapisa iz vira podatkov? |
| RecordInfo.EditPermission | Ali ima trenutni uporabnik dovoljenje za spremembo tega zapisa v viru podatkov? |
| RecordInfo.ReadPermission | Ali ima trenutni uporabnik dovoljenje za ogled tega zapisa iz vir podatkov? |
RecordInfo vrne logično vrednost:
| Vrnjena vrednost | Description |
|---|---|
| resnično | Uporabnik ima dovoljenje. |
| neresnično | Uporabnik nima dovoljenja. Če je zapis prazen potem bo RecordInfo vrnil vrednost false. |
RecordInfo upošteva tudi dovoljenja na ravni vira podatkov. Na primer, če ima uporabnik privilegije na ravni zapisa za spreminjanje zapisa, vendar uporabnik nima privilegijev na ravni tabele, se bo vrnil napačno za Spremeni dovoljenje. Uporabi Funkcija DataSourceInfo za pridobitev informacij o vir podatkov kot celoti.
Sintaksa RecordInfo
RecordInfo( Zapis, Informacije )
- Zapis – obvezno. Zapis za testiranje.
- Informacije – obvezno. Želeni podatki za zapis.
Primeri za informacije o zapisu
RecordInfo(Self.Selected.Item, RecordInfo.EditPermission )
Uporablja se za Vidno lastnost v tem primeru. Preveri, ali ima prijavljeni uporabnik pravice za urejanje izbranega zapisa. Če ima uporabnik dovoljenje za urejanje tega zapisa in spreminjanjeAccounts vir podatkov na splošno torej RecordInfo se bo vrnil prav in ukaz bo viden. V nasprotnem primeru ukaz uporabniku ne bo viden.
CountRows(Filter(Self.Selected.AllItems, RecordInfo(ThisRecord,RecordInfo.EditPermission)))>0
Uporablja se za Vidno lastnina za Glavna mreža lokacijo v tem primeru. Gumb bo viden uporabniku, ki izvaja aplikacijo, ko je izbran eden ali več zapisov znotraj mreže in ima uporabnik pravico za urejanje vsaj en izbranih zapisov.
CountRows(Filter(Self.Selected.AllItems, RecordInfo(ThisRecord,RecordInfo.EditPermission)))=CountRows(Self.Selected.AllItems)
Uporablja se za Vidno lastnina za Glavna mreža lokacijo v tem primeru. Gumb bo viden uporabniku, ki izvaja aplikacijo, ko je izbran en ali več zapisov znotraj mreže in ima uporabnik pravice za urejanje za vse izbranih zapisov.
Funkcija DataSourceInfo
Viri podatkov lahko zagotovijo veliko informacij za optimizacijo uporabniške izkušnje.
Lahko uporabiš stolpec -informacije na ravni za potrditev uporabniškega vnosa in zagotavljanje takojšnje povratne informacije uporabniku pred uporabo Funkcija popravka. The Potrdi funkcijo uporablja te iste informacije.
Podatke na ravni vir podatkov lahko uporabite, na primer, da onemogočite ali skrijete Uredi in Novo gumbi za uporabnike, ki nimajo privilegijev za urejanje in ustvarjanje zapisov.
Informacije o tabeli vira podatkov
Lahko uporabiš DataSourceInfo za pridobitev informacij o vir podatkov kot celoti. Za poveljevanje je tudi zelo pogosta uporaba za Vidnost. Na primer, da prikažete ali skrijete ukaz, odvisno od tega, ali ima uporabnik eno ali več privilegijev za tabelo.
| Argument informacije | Vrsta rezultata | Description |
|---|---|---|
| DataSourceInfo.AllowedValues | Logični | Kakšne vrste dovoljenj so lahko uporabnikom odobrene za ta vir podatkov? Če tega ne nastavi vir podatkov, vrne prazno. |
| DataSourceInfo.CreatePermission | Logično | Ali ima trenutni uporabnik privilegije za ustvarjanje zapisov v tem vir podatkov? Če tega ne nastavi vir podatkov, vrne true. |
| DataSourceInfo.DeletePermission | Logično | Ali ima trenutni uporabnik privilegije za brisanje zapisov v tem vir podatkov? Če tega ne nastavi vir podatkov, vrne true. |
| DataSourceInfo.EditPermission | Logično | Ali ima trenutni uporabnik privilegij za urejanje zapisov v tem vir podatkov? Če tega ne nastavi vir podatkov, vrne true. |
| DataSourceInfo.ReadPermission | Logično | Ali ima trenutni uporabnik privilegij za branje zapisov v tem vir podatkov? Če tega ne nastavi vir podatkov, vrne true. |
Opomba
DataSourceInfo vrne prav če ne more ugotoviti, ali ima trenutni uporabnik zahtevano dovoljenje. Dovoljenja bo strežnik znova preveril, ko bo izvedena dejanska operacija in se bo prikazala napaka, če ni bila dovoljena. Trenutno je preverjanje dovoljenj z DataSourceInfo možno le pri uporabi Microsoft Dataverse.
Sintaksa DataSourceInfo
DataSourceInfo( DataSource, Information, ColumnName )
- DataSource – obvezno. Vir podatkov za uporabo.
- Information – obvezno. Vrsta informacij, ki jih želite pridobiti.
- ColumnName – izbirno. Za informacije na ravni stolpca ime stolpca kot niz. Stolpec Phone bi bil prenesen kot "Phone", vključno z dvojnimi narekovaji. Za informacije na ravni vir podatkov, Ime stolpca argumenta ni mogoče uporabiti.
Vir podatkov informacije o stolpcu
Lahko uporabiš DataSourceInfo za pridobitev informacij o določenem stolpcu vir podatkov.
| Argument informacije | Vrsta rezultata | Description |
|---|---|---|
| DataSourceInfo.DisplayName | Niz | Prikazno ime za stolpec. Če prikazno ime ni določeno, vrne ime stolpca. |
| DataSourceInfo.MaxLength | Število | Največje število znakov, ki jih lahko stolpec vsebuje. Velja samo za stolpce, ki vsebujejo nize. Če največje število ni nastavljeno, vrne prazno. |
| DataSourceInfo.MaxValue | Število | Največja številska vrednost, ki jo lahko stolpec vsebuje. Velja samo za stolpce, ki vsebujejo številke. Če največje število ni nastavljeno, vrne prazno. |
| DataSourceInfo.MinValue | Število | Najmanjša številska vrednost, ki jo lahko stolpec vsebuje. Velja samo za stolpce, ki vsebujejo številke. Če najmanjše število ni nastavljeno, vrne prazno. |
| DataSourceInfo.Required | Logični | Ali je vrednost obvezna za ta stolpec? Če tega ne nastavi vir podatkov, vrne false. |
Primeri DataSourceInfo
DataSourceInfo(Accounts, DataSourceInfo.DeletePermission)
Uporablja se za Vidno lastnost v tem primeru. Preveri, ali ima prijavljen uporabnik pooblastilo za brisanje zapisov v tabeli računov (določeno z varnostnimi vlogami, ki jih ima uporabnik). Če ima uporabnik dovoljenje za brisanje zapisov računa, potem DataSourceInfo se bo vrnil prav in ukaz bo viden. V nasprotnem primeru ukaz uporabniku ne bo viden.
Potrditev funkcije
Funkcija Confirm na vrhu trenutnega zaslona prikaže pogovorno okno. Na voljo sta dva gumba: gumb za potrditev in gumb za preklic, ki privzeto veljata za lokalizirani različici možnosti »V redu« in »Prekliči«. Uporabnik se mora odločiti za potrditev ali preklic, preden je pogovorno okno opuščeno, in funkcija se bo vrnila. Poleg gumba v pogovornem oknu lahko prekliče izberete tudi s tipko Esc ali drugimi potezami, ki so specifične za platformo.
Parameter Message je prikazan v telesu pogovornega okna. Če je sporočilo zelo dolgo, bo prirezano ali pa bo na voljo drsni trak.
Če želite določiti možnosti pogovornega okna, uporabite parameter OptionsRecord. Vsaka platforma ne ponuja vseh možnosti, te pa so na voljo v tolikšni meri, kot je le mogoče.
Opomba
Možnosti v spodnji tabeli trenutno niso na voljo za aplikacije s platnom.
| Polje za možnosti | Opis |
|---|---|
| ConfirmButton | Besedilo, ki se prikaže na gumbu za potrditev, nadomešča privzeto lokalizirano besedilo »V redu«. |
| CancelButton | Besedilo, ki se prikaže na gumbu za preklic, nadomešča privzeto lokalizirano besedilo »Prekliči«. |
| Naslov | Besedilo, ki se prikaže kot naslov pogovornega okna. Za prikaz tega besedila se lahko uporabi večja, krepkejša pisava kot v sporočilu. Če je ta vrednost zelo dolga, bo skrajšana. |
| Podnaslov | Besedilo, ki se prikaže kot podnaslov pogovornega okna. Za prikaz tega besedila se lahko uporabi večja, krepkejša pisava kot v sporočilu. Če je ta vrednost zelo dolga, bo skrajšana. |
Če ste izbrali gumb za potrditev, Confirm vrne vrednost »true«, v nasprotnem primeru pa vrednost »false«.
Uporabite funkcijo Notify, da se na vrhu aplikacije, ki je ni treba opustiti, prikaže pasica.
Opomba
Funkcija Notify trenutno ni na voljo v aplikacijah s platnom.
Sintaksa
Potrditev( sporočila [, OptionsRecord ] )
Message– obvezno. Sporočilo za prikaz uporabniku.OptionsRecord– izbirno. Navedite dodatne možnosti za pogovorno okno. Vsaka platforma ne ponuja vseh možnosti, te pa so na voljo v tolikšni meri, kot je le mogoče. V aplikacijah s platnom trenutno ni podprta nobena izmed teh možnosti.
Primeri
Preprosto potrditveno pogovorno okno, ki od uporabnik zahteva, da potrdi izbris zapisa, preden je ta odstranjen. Razen če uporabnik ne izbere v redu gumb, zapis ne bo izbrisan.
If( Confirm( "Are you sure?" ), Remove( ThisItem ) )
Pogovorno okno, ki se od okna v prejšnjem primeru razlikuje samo po tem, da je vanj dodano besedilo naslova.
If( Confirm( "Are you sure?", {Title: "Delete Confirmation"} ), Remove( ThisItem ) )
Sporočilo prikaže podobno kot funkcija Notify, vendar gre za modalno možnost, ki od uporabnika zahteva, da za nadaljevanje pritisne gumb. Uporabite jo v primerih, ko je pomembno, da uporabnik pred nadaljevanjem potrdi, da je bil seznanjen s sporočilom. V tem primeru ni pomembno, kateri gumb je izbran.
Confirm( "There was a problem, please review your order." )
Dodajanje obvestil v aplikacijo, ki temelji na modelu
Ko je poklicana Funkcija za obveščanje, se uporabnikom prikaže obvestilo.
Notify( "Model-driven app notification message" )
Drugi primeri
Zagon URL-ja
Launch("https://www.bing.com");
Dostop do lastnosti 1:N
Self.Selected.Item.'Recurring Appointments'
Preverjanje lastnosti sorodnega zapisa
Self.Selected.Item.'Parent Account'.'Account Name'="parent"
Ni podprto v Power Fx
Funkcije niso podprte
Naslednje funkcije Power Fx trenutno niso podprte z ukazi v aplikacijah, ki jih poganja model.
- Nazaj ()
- Počisti()
- Zberi ()
- Onemogoči ()
- Omogoči()
- Exit()
- InvokeControl()
- LoadData()
- param()
- ReadNFC()
- Zahtevaj skrij()
- Povrni ()
- SaveData()
- ResetForm()
- ScanBarcode()
- Nastavi ()
- Oddaj obrazec()
- UpdateContext()
- ViewForm()
Enumji niso podprti
- BorderStyle
- Barva
- Smer
- DisplayMode
- LayoutMode
- LayoutAlignItems
- AlignInContainer
- LayoutJustifyContent
- LayoutOverflow
- Pisava
- FontWeight
- Položaj slike
- Postavitev
- LayoutDirection
- TextPosition
- Besedilni način
- Oblika besedila
- VirtualKeyboardMode
- TeamsTheme
- Teme
- PenMode
- Odstrani zastavice
- Prehod zaslona
- Poravnava
- VerticalAlign
- Prehod
- Preplavitev
- MapStyle
- GridStyle
- LabelPosition
- Povečava
- PDFPasswordState
- BarcodeType
- Vrtenje slike
- Vzorec obrazca
- ListItemTemplate
- LoadingSpinner
- Objavljeno
- TextRole
- Velikost zaslona
- Icon
- Vir sporočila
Druga nepodprta področja
- Pospeševanje
- Program
- Compass
- Connection
- Okolje
- Gostitelj
- LOkacija
- Postavitev
- Velikost zaslona
- uporabnik.
Glejte tudi
Povratne informacije
Pošlji in prikaži povratne informacije za