Uporaba storitve Power Fx z ukazi
V tem članku so zajeti vidiki storitve Power Fx, značilni za ukaze. 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 za podatkovni tok. Kaj so podatkovni tokovi?
- Podprte so nujne funkcije, ki zadevajo podatke.
- Podprte so nujne funkcije za preprosto potrditev
Confirm
in obveščanjeNotify
. - Za seznam funkcij, ki niso podprte, glejte članek Funkcije, ki niso podprte.
Opomba
Objavljanje ukazov storitve Power Fx lahko traja nekaj minut. Tudi, ko je videti, da se je operacija objavljanja dokončala, se lahko še vedno izvajajo operacije v ozadju, čeprav to na prvi pogled ni očitno. Po objavi boste morda morali počakati nekaj minut in nato aplikacijo osvežiti, da bodo spremembe vidne. Ta postopek običajno traja dlje, ko ukaz, ki temelji na Power Fx, za aplikacijo objavite prvič.
OnSelect
Določa logiko, ki se izvede, ko je v aplikaciji izbran gumb.
Vidno
Določa logiko za skrivanje ali prikazovanje gumba med izvajanjem aplikacije.
Če želite definirati logiko vidnosti, izberite ukaz. Nato v desnem podoknu z lastnostmi ukaza izberite Vidljivost in izberite možnost Prikaži pod pogojem iz formule. Izberete lahko Vidno na levi strani vrstice s formulo in nato napišete Power Fx izraz z uporabo vrstice s formulo.
Izbrana lastnost
Polje | Vnesi | Description |
---|---|---|
Element | Zapis za DataSource | Eden izmed izbranih zapisov v DataSource. |
AllItems | Tabela zapisov iz DataSource | Vsi izbrani zapisi v DataSource. |
Država/regija | Oštevilčenje | Stanje izbranega kontrolnika. Uredi (=0), Novo (=1), Ogled (=2) |
Neshranjeno | Logično | Vrne vrednost »true«, če za »Selected« ali »SelectedItems« obstajajo spremembe, ki niso shranjene. Sicer vrne vrednost »false«. Vedno vrne vrednost »false«, če je v knjižnici komponent ukazov samodejno shranjevanje AutoSave nastavljeno na »true« (privzeta možnost). |
- Lastnost Izbrano zagotovi gostitelj ukaza.
- Imena za Element in AllItems se ujemajo s kontrolnikom ComboBox in kontrolnikom galerije, vendar gre za nov vzorec.
- Če ni izbran noben zapis, Item vrne prazno (IsBlank vrne true) in AllItems vrne prazno tabelo (IsEmpty vrne true).
- Vrednost »null« za DataSource za sklice na zapise (polimorfne vrste zapisov). Prikličete lahko splošne funkcije, na primer »Shrani« ali »IsType/AsType«.
- Element je vedno prazen, če SelectionMax <> 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 »Patch«
Popravki (posodobitev) trenutno izbranega zapisa
Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})
Ustvarjanje sorodnega zapisa
Opomba
Če sorodna tabela še ni vključena v knjižnico komponent ukaza, jo boste morali odpreti v studiu za delovno območje, kamor morate 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
Če želite uporabljati JavaScript, za dodatne možnosti glejte sklic API-ja odjemalca. Več informacij: navigateTo (sklic odjemalskega API-ja)
Pomik do strani po meri
Če se želite v aplikaciji, ki temelji na modelu, pomakniti do strani delovnega območja po meri, kot prvi argument navedite ime strani.
Navigate( myCustomPage )
Krmarjenje do privzetega pogleda tabele
Če se želite pomakniti na privzeti pogled tabele, kot prvi argument navedite ime tabele.
Navigate( Accounts )
Krmarjenje do določenega sistemskega pogleda tabele
Če se želite pomakniti na določen sistemski pogled tabele, navedite oštevilčenje Views
tabele.
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. S tem se bo odprl privzeti obrazec, v katerem bo zapis označen kot nov zapis. Funkcija Privzete nastavitve prevzame ime tabele za ustvarjanje zapisa.
Navigate( Defaults( Accounts ) )
Optimizirajte uporabniško izkušnjo z vir podatkov in beležite informacije
Uporabite funkcijo DataSourceInfo in funkcijo RecordInfo za optimizacijo uporabniške izkušnje z informacijami o podatkih, ki se prikazujejo in manipulirajo.
Uporabite na primer RecordInfo, da ugotovite, ali ima trenutni uporabnik dovoljenje za spreminjanje zapisa in ustrezno prikažete ali skrijete gumb »Uredi« z njegovim Vidna lastnost :
EditButton.Visible =
RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )
Uporabite na primer DataSourceInfo, da ugotovite, ali ima trenutni uporabnik dovoljenje za ustvarjanje zapisa in ustrezno prikažete ali skrijete gumb »Ustvari« z njegovim Vidna lastnost :
CreateButton.Visible =
DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )
Pred ukrepanjem zahtevajte potrditev
Uporabite Potrdi funkcijo za prikaz pogovornega okna na vrhu trenutnega zaslona.
Notify( Confirm( "Are you sure?",
{ ConfirmButton: "Yes", CancelButton: "No" }
)
)
Prikaže obvestilo true če je pritisnjen gumb Da in obvestilo false če je pritisnjen gumb Ne .
Obvesti uporabnika
Ko je poklicana Funkcija za obveščanje, se uporabnikom prikaže obvestilo.
Opomba
NotificationType.Success
trenutno ni podprt in povzroči informativno vrsto obvestila.
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"
Funkcije, ki niso podprte
Naslednje funkcije za Power Fx trenutno niso podprte za ukaze v aplikacijah, ki temeljijo na modelu.
- Back()
- Clear()
- Collect()
- Kopirati()
- Disable()
- Enable()
- Exit()
- InvokeControl()
- Language()
- LoadData()
- Param()
- Natisni()
- ReadNFC()
- RequestHide()
- ResetForm()
- Revert()
- SaveData()
- ScanBarcode()
- Set()
- SubmitForm()
- UpdateContext()
- User()
- ViewForm()
Oštevilčenja, ki niso podprta
- Poravnava
- AlignInContainer
- BarcodeType
- BorderStyle
- Barva
- Smer
- DisplayMode
- Pisava
- FontWeight
- FormPattern
- GridStyle
- ImagePosition
- ImageRotation
- LabelPosition
- Postavitev
- LayoutAlignItems
- LayoutDirection
- LayoutJustifyContent
- LayoutMode
- LayoutOverflow
- ListItemTemplate
- MapStyle
- Preplavitev
- PDFPasswordState
- PenMode
- RemoveFlags
- ScreenTransition
- TeamsTheme
- TextFormat
- TextMode
- TextPosition
- Teme
- Prehod
- VerticalAlign
- VirtualKeyboardMode
- Povečava
Druga območja, ki niso podprta
- Pospeševanje
- Program
- Compass
- Connection
- Dataverse stolpci vrste datoteke
- Okolje
- Gostitelj
- Postavitev
- LOkacija
- ScreenSize