Použitie Power Fx s príkazmi

Tento článok sa zaoberá aspektmi Power Fx, ktoré sú špecifické pre príkazy. Je možné použiť aj mnoho ďalších funkcií, ktoré sa dnes používajú v aplikáciách plátna. Majte na pamäti, že existujú rozdiely, pretože príkazy sú určené modelom riadené aplikácie.

  • Podporované sú všetky existujúce funkcie toku údajov. Čo sú toky údajov?
  • Podporované sú nevyhnutné funkcie, ktoré pracujú s údajmi.
  • Podporované sú nevyhnutné funkcie pre jednoduché Confirm a Notify.
  • Zoznam nepodporovaných funkcií nájdete v časti Funkcie nie sú podporované.

Poznámka

Publikovanie príkazov Power Fx môže trvať niekoľko minút. Nemusí byť zrejmé, že operácie na pozadí stále bežia, aj keď sa zdá, že operácia zverejnenia bola dokončená. Po zverejnení možno budete musieť počkať niekoľko minút a potom obnoviť aplikáciu, aby sa zmeny prejavili. Pri prvom zverejnení príkazu na základe Power Fx pre aplikáciu to obyčajne trvá dlhšie.

OnSelect

Definuje logiku, ktorá sa vykoná po stlačení tlačidla v aplikácii.

Viditeľné

Definuje logiku pre skrytie alebo zobrazenie tlačidla pri spustení aplikácie.

Ak chcete definovať logiku viditeľnosti, stlačte príkaz. Potom vyberte Viditeľnosť na pravej table vlastností príkazu a stlačte Zobraziť v prípade podmienky zo vzorca. Teraz môžete naľavo od panelu vzorcov stlačiť Viditeľné a potom zapísať výraz Power Fx pomocou riadku vzorcov.

Vybratá vlastnosť

Pole Type Description
Položka Záznam zdroja údajov Jeden zo záznamov vybratých zo zdroja údajov.
AllItems Tabuľka záznamov zo zdroja údajov Všetky záznamy vybraté zo zdroja údajov.
State Enumerácia Stav vybratého ovládacieho prvku. Upraviť (=0), Nové (=1), Zobraziť (=2)
Neuložené Boolean Vráti hodnotu true, ak položky Selected alebo SelectedItems majú neuložené zmeny. V opačnom prípade vráti príznak false. Vždy vráti hodnotu false, ak je AutoSave nastavené na hodnotu true (predvolená možnosť) v rámci knižnice komponentov príkazov.
  • Vybranú vlastnosť poskytuje hostiteľ príkazu.
  • Názvy Položka a Všetky položky sú do určitej miery v súlade s ovládacím prvkom ComboBox a ovládacím prvkom Galéria, ale toto je nový vzor.
  • Ak nie je vybratý žiadny záznam, Položka vráti prázdne (IsBlank vráti pravdu) a Všetky položky vráti prázdnu tabuľku (IsEmpty vráti pravdu).
  • Nulový zdroj údajov pre odkazy na záznamy (typy polymorfných záznamov). Je možné volať všeobecné funkcie, ako napríklad Uložiť alebo IsType/AsType.
  • Položka je vždy prázdna, ak je položka SelectionMax <> 1. Tým sa zabráni zápisu vzorcov iba na jednu položku a nezmení sa mierka na viac ako jednu.

Automatické ukladanie

  • Mnoho príkazov JavaScript začína uložením vyrovnávacej pamäte formulára. Dôvodom je, že so zvyškom kódu je jednoduchšie pracovať.
  • V predvolenom nastavení je vyrovnávacia pamäť formulárov uložená v mene tvorcu aplikácií.
    • Formulár sa uloží pred spustením príkazu.
    • Všetky problémy, ktoré sa vyskytnú počas operácie uloženia, sú vyriešené v rámci používateľského rozhrania formulára.

Funkcia Patch

Oprava (aktualizácia) aktuálne vybraného záznamu

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

Poznámka

Ak súvisiaca tabuľka ešte nie je v knižnici komponentov príkazov, budete ju musieť otvoriť v štúdiu plátna a pridať tam zdroj údajov.

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

Skontrolujte a upravte vlastnosť dátumu

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

Viditeľná vlastnosť: Zobrazí príkaz iba vtedy, ak je v zobrazení mriežky vybratý jeden alebo viac záznamov

CountRows(Self.Selected.AllItems) > 0

Ovládajte viditeľnosť na základe záznamových údajov

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

Poznámka

Ďalšie možnosti si prečítajte v referencii klientskej API na použitie JavaScript. Viac informácií: navigateTo (referencia klientskeho rozhrania API)

Ak chcete prejsť na vlastnú stránku plátna v rámci aplikácie riadenej modelom, zadajte názov stránky ako prvý argument.

Navigate( myCustomPage )

Ak chcete prejsť na predvolené zobrazenie tabuľky, ako prvý argument zadajte názov tabuľky.

Navigate( Accounts )

Ak chcete prejsť na konkrétne systémové zobrazenie tabuľky, odovzdajte enumeráciu Views tabuľky.

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

Ak chcete prejsť na predvolený formulár tabuľky, prejdite na záznam ako na prvý argument.

Navigate( Gallery1.Selected )

Ak chcete prejsť na predvolený tvar tabuľky, presuňte záznam Dataverse vytvorený pomocou funkcie Predvolené. Otvorí sa predvolený formulár so záznamom ako novým záznamom. Funkcia Predvolené na vytvorenie záznamu použije názov tabuľky.

Navigate( Defaults( Accounts ) )

Optimalizujte používateľskú skúsenosť pomocou zdroj údajov a zaznamenávajte informácie

Použite funkcie DataSourceInfo a RecordInfo · na optimalizáciu používateľskej skúsenosti s informáciami o zobrazovaných a manipulovaných údajoch.

Pomocou funkcie RecordInfo môžete napríklad určiť, či má aktuálny používateľ povolenie na úpravu záznamu a vhodne zobraziť alebo skryť tlačidlo Upraviť pomocou vlastnosti Viditeľné :

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

Pomocou funkcie DataSourceInfo môžete napríklad určiť, či má aktuálny používateľ povolenie na vytvorenie záznamu, a vhodne zobraziť alebo skryť tlačidlo Vytvoriť pomocou vlastnosti Viditeľné :

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

Pred vykonaním akcie požiadajte o potvrdenie

Pomocou funkcie Confirm zobrazte dialógové okno v hornej časti aktuálnej obrazovky.

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

Zobrazí upozornenie pravda ak stlačíte tlačidlo Áno a upozornenie nepravda ak je stlačené tlačidlo Nie.

Upozorniť používateľa

Upozornenie je možné zobraziť používateľom aplikácie zavolaním funkcie Oznámenie.

Poznámka

NotificationType.Success momentálne nie je podporovaný a výsledkom bude informačný typ upozornenia.

Notify( "Model-driven app notification message" )

Ďalšie príklady

Spustenie adresy URL

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

Prístup 1: vlastnosť N

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

Nepodporované funkcie

Nasledujúce funkcie Power Fx momentálne nie sú podporované príkazmi v aplikáciách riadených modelom.

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

Nepodporované enumerácie

  • Zarovnanie
  • AlignInContainer
  • BarcodeType
  • BorderStyle
  • Color
  • Direction
  • DisplayMode
  • Písmo
  • FontWeight
  • FormPattern
  • GridStyle
  • ImagePosition
  • ImageRotation
  • LabelPosition
  • Rozloženie
  • LayoutAlignItems
  • LayoutDirection
  • LayoutJustifyContent
  • LayoutMode
  • LayoutOverflow
  • ListItemTemplate
  • MapStyle
  • Pretečenie
  • PDFPasswordState
  • PenMode
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Motívy
  • Prechod
  • VerticalAlign
  • VirtualKeyboardMode
  • Lupa

Ďalšie nepodporované oblasti

  • Zrýchlenie
  • App
  • Compass
  • Connection
  • Environment
  • Host
  • Rozloženie
  • Oblasť
  • ScreenSize

Pozrite si tiež

Pochopenie vzorcov správania

Odkaz na vzorec

Prehľad systému Power Fx