Utilitzar Power Fx per a les ordres
Aquest article tracta sobre aspectes del Power Fx específics del comandament. Moltes altres funcions que s'utilitzen avui dins de les aplicacions del llenç també es poden utilitzar. Tingueu en compte que hi ha diferències, perquè el comandament és per a les aplicacions basades en models.
- Totes les funcions de flux de dades existents estan admeses. Què són els flux de dades?
- S'admeten funcions imperatius que funcionen amb dades.
- S'admeten les funcions imperatius per a
Confirm
iNotify
simples. - Per veure una llista de les funcions no admeses, aneu a Funcions no admeses.
Nota
La publicació de les ordres de Power Fx pot tardar una estona. Pot ser que no sigui evident que les operacions en segon terme s'executin encara més quan l'operació de publicació s'hagi completat. Pot ser que hàgiu d'esperar uns minuts després de publicar-la i actualitzar l'aplicació per veure els canvis reflectits. Normalment, triga més temps la primera vegada que es Power Fx publica una ordre basada en una aplicació.
Defineix la lògica que s'executa quan se selecciona el botó dins de l'aplicació.
Defineix la lògica per amagar o mostrar el botó quan s'executa l'aplicació.
Per definir la lògica de visibilitat, seleccioneu l'ordre. A continuació, seleccioneu Visibilitat a la subfinestra de propietats de l'ordre dreta i trieu Mostra a la condició de la fórmula. Podeu seleccionar Visible a l'esquerra de la barra de fórmules i escriure una Power Fx expressió utilitzant la barra de fórmules.
Camp | Type | Descripció |
---|---|---|
Element | Registre de DataSource | Un dels registres seleccionats de DataSource. |
AllItems | Taula de registres de DataSource | Tots els registres seleccionats de DataSource. |
Estat o província | Enumeració | Obtén l'estat de l'ordre seleccionada. Edita (=0), Crea (=1), Visualitza (=2) |
No s'ha desat | Boolean | Torna true si els elements seleccionats o seleccionats tenen canvis no desats. En cas contrari, retorna false. Sempre torna false si el desat automàtic està definit com a cert (opció per defecte) a la biblioteca del component d'ordres. |
- L'amfitrió de l'ordre proporciona la propietat seleccionada.
- Els noms Item i AllItems són coherents amb el control ComboBox i el control de la galeria, però aquest és un nou patró.
- Si no hi ha cap registre seleccionat, Item retorna Blank (IsBlank retorna true) i AllItems retorna una taula buida (IsEmpty retorna true).
- DataSource nul per a referències de registres (tipus de registres polimòrfics). Es poden fer trucades a funcions genèriques, com ara Desa o IsType/AsType.
- L'element sempre està en blanc si SelectionMax <> 1. Això impedeix l'escriptura de fórmules en un sol element i no escalar a més d'un.
- Moltes ordres de JavaScript s'inicien desant la memòria intermèdia del formulari. Això es deu a que fa que la resta del codi sigui més fàcil de treballar.
- Per defecte, la memòria intermèdia del formulari es desa en nom del creador de l'aplicació.
- El formulari es desa abans d'iniciar l'ordre.
- Els problemes que es produeixen durant l'operació de desar es tracten dins de la interfície d'usuarisi del formulari.
Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})
Nota
Si la taula relacionada encara no és a la biblioteca del component d'ordres, haureu d'obrir-la al taller de llenç i afegir-hi la font de dades.
Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})
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)}))
Propietat visible: mostra només l'ordre si se seleccionen un o més registres en una visualització de quadrícula
CountRows(Self.Selected.AllItems) > 0
//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20
Nota
Per opcions addicionals, vegeu la referència de l'API de client per utilitzar JavaScript. Més informació: navegar a (referència API de client)
Per anar a una pàgina de llenç personalitzada dins d'una aplicació basada en el model, passeu el nom de la pàgina com a primer argument.
Navigate( myCustomPage )
Per anar a la visualització per defecte de la taula, passeu el nom de la taula com a primer argument.
Navigate( Accounts )
Per anar a una àrea visualització del sistema de la taula, passeu l'enumeració de Views
de la taula.
Navigate( 'Accounts (Views)'.'My Active Accounts' )
Per anar al formulari per defecte de la taula, passeu el registre de la taula com a primer argument.
Navigate( Gallery1.Selected )
Per anar al formulari per defecte de la taula, passeu un registre Dataverse creat des de la funció Predeterminades. S'obrirà el formulari per defecte amb el registre com un registre nou. La funció Predeterminades pren el nom de la taula per crear el registre.
Navigate( Defaults( Accounts ) )
Utilitzeu la funció DataSourceInfo i la funció RecordInfo per optimitzar l'experiència de l'usuari amb informació sobre les dades que es mostren i manipulen.
Per exemple, utilitzeu RecordInfo per determinar si l'usuari actual té permís per modificar un registre i mostrar o amagar adequadament un botó "Edita" mitjançant la seva propietat Visible :
EditButton.Visible =
RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )
Per exemple, utilitzeu DataSourceInfo per determinar si l'usuari actual té permís per crear un registre i mostrar o amagar adequadament un botó "Crea" mitjançant la seva propietat Visible :
CreateButton.Visible =
DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )
Utilitzeu la funció Confirma per mostrar un quadre de diàleg a la part superior de la pantalla actual.
Notify( Confirm( "Are you sure?",
{ ConfirmButton: "Yes", CancelButton: "No" }
)
)
Mostra una notificació true si es prem el botó Sí i una notificació false si es prem el botó No . ·
Per mostrar una notificació als usuarisis de l'aplicació, feu una trucada a la funció Notifica.
Nota
NotificationType.Success
actualment no està admesa i tindrà com a resultat un tipus de notificació informativa.
Notify( "Model-driven app notification message" )
Launch("https://www.bing.com");
Self.Selected.Item.'Recurring Appointments'
Self.Selected.Item.'Parent Account'.'Account Name'="parent"
Per obtenir informació sobre les fórmules admeses amb les ordres a les aplicacions basades en models, aneu a Referència de fórmules: aplicacions basades en models.
Actualment, les funcions següents Power Fx no s'admeten amb les ordres a les aplicacions basades en models.
- Back()
- Esborra()
- Collect()
- Copia()
- Disable()
- Enable()
- Exit()
- InvokeControl()
- Language()
- LoadData()
- Param()
- Impressió()
- ReadNFC()
- RequestHide()
- ResetForm()
- Revert()
- SaveData()
- ScanBarcode()
- Set()
- SubmitForm()
- UpdateContext()
- User()
- ViewForm()
- Alineació
- AlignInContainer
- BarcodeType
- BorderStyle
- Color
- Direcció
- DisplayMode
- Lletra
- FontWeight
- FormPattern
- GridStyle
- ImagePosition
- ImageRotation
- LabelPosition
- Disposició
- LayoutAlignItems
- LayoutDirection
- LayoutJustifyContent
- LayoutMode
- LayoutOverflow
- ListItemTemplate
- MapStyle
- Sobreeiximent
- PDFPasswordState
- PenMode
- RemoveFlags
- ScreenTransition
- TeamsTheme
- TextFormat
- TextMode
- TextPosition
- Temes
- Transició
- VerticalAlign
- VirtualKeyboardMode
- Zoom
- Acceleration
- App
- Compass
- Connection
- Dataverse Columnes de tipus de fitxer
- Entorn
- Amfitrió
- Disposició
- Ubicació
- ScreenSize