Comparteix a través de


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 i Notify 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ó.

OnSelect

Defineix la lògica que s'executa quan se selecciona el botó dins de l'aplicació.

Visible

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.

Propietat seleccionada

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.

Desament automàtic

  • 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.

Funció Patch

Connecta (actualitza) amb el registre seleccionat actual

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

Crea un registre relacionat

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

Comprovar i editar una propietat de data

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

Controlar la visibilitat a partir de les dades de registres

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

Anar a la visualització per defecte de la taula

Per anar a la visualització per defecte de la taula, passeu el nom de la taula com a primer argument.

Navigate( Accounts )

Anar a la visualització del sistema específica de la taula

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

Anar al formulari per defecte de la taula

Per anar al formulari per defecte de la taula, passeu el registre de la taula com a primer argument.

Navigate( Gallery1.Selected )

Anar al formulari per defecte de la taula en mode de creació

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

Optimitzeu l'experiència d'usuari amb la font de dades i registreu informació

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 )

Demanar confirmació abans de prendre mesures

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 . ·

Notificar a l'usuari

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

Altres exemples

Inicia un URL

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

Accedir a la propietat 1:N

Self.Selected.Item.'Recurring Appointments'

Comprovar la propietat d'un registre relacionat

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

Funcions no admeses

Actualment les funcions següents de Power Fx no estan admeses amb l'ordre a les aplicacions controlades per models.

  • Back()
  • Esborra()
  • Collect()
  • Copia()
  • Disable()
  • Enable()
  • Exit()
  • InvokeControl()
  • Language()
  • LoadData()
  • Param()
  • Impressió()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • User()
  • ViewForm()

Enumeracions no admeses

  • 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

Altres àrees no admeses

  • Acceleration
  • App
  • Compass
  • Connection
  • Dataverse Columnes de tipus de fitxer
  • Entorn
  • Amfitrió
  • Disposició
  • Ubicació
  • ScreenSize

Consulteu també

Informació sobre les fórmules de comportament

Referència de fórmula

Informació general del Power Fx